Существует ли инструмент с открытым исходным кодом для измерения производительности процессора?

21

Я много раз использовал abдля измерения веб-производительности, hdparmдля измерения производительности жесткого диска и netperfдля измерения производительности сети.

Но я не нашел никаких инструментов для измерения производительности процессора.

Знаете ли вы инструмент, позволяющий измерять производительность процессора? Я более конкретно хочу измерить Gflops.

Корен
источник
2
см. " serverfault.com/questions/88357/estimate-flops-in-linux " для измерения gflops, и вы можете использовать команды mpstat или sar для производительности процессора
harish.venkat
1
sar and mpstat indicates cpu activity, not cpu performance. Serverfault question indicates to use LINPACK, which is not open source.
Coren
связанные: askubuntu.com/questions/634513/…
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件

Ответы:

10

Вы должны взглянуть на страницу Wikipedia по бенчмаркингу , она дает довольно много инструментов для тестирования, в том числе CPU, которые будут работать в Linux. LinPack бесплатен, но компилировать не так просто. Но вы, конечно, можете посмотреть на NBench и некоторых других в списке.

Карлсон
источник
NBench - хороший, но 15-летний код. Нам нужно что-то новое. Ссылка устарела Кстати.
Конрад Гаевский
3
$ date; i=0; while (( i < 1000000 )); do (( i ++ )); done; date
Tue Jul 15 11:26:37 EDT 2014
Tue Jul 15 11:26:43 EDT 2014
$
JohnMudd
источник
1
Это будет 43 - 37 = 6 Гигафлопс? Я не вижу, как целочисленное приращение в оболочке, связано с производительностью с плавающей запятой.
Антон
Общей целью было «измерить производительность процессора». Позже упоминается Gflops, но я думаю, что это на самом деле ошибочная касательная. Если Gflops была истинной целью, то вопрос о производительности процессора был ошибкой.
JohnMudd
Более быстрый способ получить номер, который вам действительно DATE=$(date +%s); i=0; while (( i < 1000000 )); do (( i ++ )); done; echo $(( $(date +%s)-DATE ))
нужен
1
Хороший вопрос, я должен был обновить это ранее. Вот мой текущий подход: время (i = 0; while ((i <1000000)); do ((i ++)); done)
JohnMudd
1
Это не 6 гигафлопс, это ~ 0,17 мегабаш вкрементов. И мой макбук владеет всем:( i=0 ; while (( i < 1000000 )); do; (( i ++ )); done; ) 1.33s user 0.00s system 99% cpu 1.337 total
Стивен Лу
1

стресс-нг является простым инструментом, который может подчеркнуть и сравнить процессор.

Например, проверено 1 процессор

stress-ng -c 1 --cpu-ops 5000

стресс-нг: информация: [20288] по умолчанию 86400 секунд на стрессор

стресс-нг: информация: [20288] диспетчерские свиньи: 1 процессор

стресс-нг: информация: [20288] успешный пробег завершен в 13,93 с

michaelbn
источник
Я думаю, что введение программы стресс-тестирования в качестве эталона вводит в заблуждение: существует большая разница между тестированием производительности и нагрузкой на процессор.
Парадокс