Утилита для тестирования CPU для Linux

66

Я ищу утилиту, которая будет измерять производительность процессора в однопоточных и многопоточных экземплярах. В настоящее время у меня есть старая установка с двухъядерным процессором (E7500) с частотой 3,6 ГГц, и я собираюсь заменить ее четырехъядерным процессором (Q9400) с частотой 3,2 ГГц. Я хочу посмотреть, замечу ли я улучшение производительности с дополнительными 2 ядрами (хотя и с падением скорости ядра). Я буду синхронизировать процессоры с одинаковой частотой FSB (400 МГц), а размер кэша будет одинаковым для каждого процессора (1,5 МБ), и за то, что он стоит, у меня есть 4 ГБ оперативной памяти (с возможностью обновления до 6 ГБ)

Мой сын в основном использует компьютер для воспроизведения TF2 (который я до сих пор пытаюсь заставить работать под Linux), и я также использую его для некоторого кодирования видео (MP4 на DVD)

Я думаю, что я мог бы быть лучше с Quad Core, но любая обратная связь будет оценена.

толстяк
источник
2
Есть Geekbench, который может сравнивать процессоры (уже есть результаты испытаний для e7500 и q9400 , хотя многие из них находятся в совершенно разных настройках, которые будут иметь разные скорости шины и т. Д.
Уилф

Ответы:

88

На самом деле есть инструмент с именем как sysbench.

Вы можете установить его с sudo apt-get install sysbench

Для тестирования процессора вы можете сделать как

sysbench --test=cpu --cpu-max-prime=20000 run

где 20000 равно максимальному количеству событий.

rɑːdʒɑ
источник
7
--cpu-max-prime=20000не является обязательным, по умолчанию 10000. Я предлагаю оставить значение по умолчанию и возиться с ним --max-requests(это число выполненных операций)
MestreLion
11
Также обратите внимание, что по умолчанию это однопоточный тест. Для тестирования N ядер вы можете использовать --num-threads=Nи сравнивать результаты, используя вывод статистики по запросу .
MestreLion
1
Есть ли место для сравнения результатов, чтобы получить относительную производительность?
Jjxtra
31

В качестве альтернативы можно использовать stress-ng. Он имеет стресс-тест процессора в качестве одного из многих стресс-тестов, встроенных в инструмент. Стресс-тест процессора содержит множество различных методов нагрузок на процессор, включая целочисленные, с плавающей запятой, битовые операции, смешанные вычисления, простые вычисления и широкий спектр вычислений.

Установить с помощью:

sudo apt-get install stress-ng

Чтобы увидеть методы стресса, связанные с процессором, используйте:

stress-ng --cpu-method which

Для сравнения, например, матричного продукта в течение 60 секунд на 4 процессорных потоках, используйте:

stress-ng --cpu 4 --cpu-method matrixprod  --metrics-brief --perf -t 60
stress-ng: info:  [15876] dispatching hogs: 4 cpu
stress-ng: info:  [15876] successful run completed in 60.00s (1 min, 0.00 secs)
stress-ng: info:  [15876] stressor      bogo ops real time  usr time  sys time   bogo ops/s   bogo ops/s
stress-ng: info:  [15876]                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [15876] cpu              71657     60.00    239.60      0.00      1194.25       299.07
stress-ng: info:  [15876] cpu:
stress-ng: info:  [15876]            885,244,279,148 CPU Cycles                    14.75 B/sec
stress-ng: info:  [15876]          1,289,303,858,968 Instructions                  21.49 B/sec (1.456 instr. per cycle)
stress-ng: info:  [15876]            201,499,961,692 Cache References               3.36 B/sec
stress-ng: info:  [15876]                    790,424 Cache Misses                  13.17 K/sec ( 0.00%)
stress-ng: info:  [15876]            157,689,508,544 Branch Instructions            2.63 B/sec
stress-ng: info:  [15876]              1,232,539,732 Branch Misses                 20.54 M/sec ( 0.78%)
stress-ng: info:  [15876]              5,755,605,036 Bus Cycles                    95.92 M/sec
stress-ng: info:  [15876]            817,296,440,876 Total Cycles                  13.62 B/sec
stress-ng: info:  [15876]                      8,532 Page Faults Minor            142.19 sec  
stress-ng: info:  [15876]                          0 Page Faults Major              0.00 sec  
stress-ng: info:  [15876]                        220 Context Switches               3.67 sec  
stress-ng: info:  [15876]                          0 CPU Migrations                 0.00 sec  
stress-ng: info:  [15876]                          0 Alignment Faults               0.00 sec  
Колин Ян Кинг
источник
3
"Невозможно найти пакет стресс-нг!"
Эхсан М. Кермани
1
Если у вас более старая версия, стресс-нг не будет доступен из архива. Тем не менее, они упакованы в ppa:
Колин Кинг
1
На странице стресс-нг: «стресс-нг также может измерять пропускную способность тестирования; это может быть полезно для наблюдения за изменениями производительности в разных выпусках операционной системы или на разных типах оборудования. Однако его никогда не предполагалось использовать в качестве точного теста набор тестов, поэтому НЕ используйте его таким образом. "
Майкл Францль
3
Как автор стресса, я бы лучше остановился на этом. «Стресс-нг» достаточно хорош, чтобы получить из него результаты сравнительных тестов, но он не был тщательно откалиброван, чтобы сказать, насколько велико отклонение для каждого конкретного стрессора. Поэтому я предлагаю запустить стресс-стрессор несколько раз и посмотреть, насколько сильно варьируется конкретный стресс-тест, и если он мало меняется, то его можно считать достаточно надежным для эталонного теста для этого конкретного варианта использования. Все зависит от того, насколько шумна / занята система, насколько хорошо работает ввод-вывод, переставляет ли она и т. Д.
Колин Ян Кинг,
1
Сравнивая stress-ngи sysbench, один говорит мне, что система A быстрее (125%), другой говорит мне, что система B быстрее (140%), какая из них правильная?
WM
10

Phoronix тест-люкс

sudo apt-get install phoronix-test-suite
phoronix-test-suite list-available-suites
# Chose one, and run it.
phoronix-test-suite run pts/cpu    

Тестирует несколько реальных случаев использования процессора, таких как сжатие, шифрование и базы данных.

Остерегайтесь того, что pts/cpuи другие тесты занимают несколько гигабайт дискового пространства. Это может означать, что у них более реалистичные рабочие нагрузки.

Проверено на Ubuntu 16.10.

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник
2
@ downvoters, пожалуйста, объясните :-)
Ciro Santilli 事件 改造 中心 法轮功 六四 事件
2
Благодарю. Я утонул в тестовых вариантах, используя build-suite в моем первом раунде с phoronix.
Андерсойвинд
1
это не Debian 9, но вы все равно можете скачать .deb с phoronix-test-suite.com/?k=downloads и запуститьsudo apt install ./phoronix-test-suite(...).deb
hanshenrik
1
Одна вещь, которая должна быть упомянута при описании PTS - это размер его контрольных показателей. При выполнении упомянутого pts/cpuтеста загружается около 3 ГБ данных и используется около 7 ГБ дискового пространства (в домашнем каталоге пользователя).
Stefanct
Согласитесь, если вы ищете простой бенчмарк, то вам не нужен phoronix-test-suite, он массивный и постоянно просит загружать все больше и больше зависимостей для запуска тестов. (Я уверен, что это очень тщательно, когда вы действительно этого хотите)
Джейми Пэйт,