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


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

Ответы:


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
$

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 с


Я думаю, что введение программы стресс-тестирования в качестве эталона вводит в заблуждение: существует большая разница между тестированием производительности и нагрузкой на процессор.
Парадокс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.