Utilitário de benchmarking de CPU para Linux

66

Estou procurando um utilitário que faça o benchmark do desempenho da CPU em instâncias únicas e multithread. No momento, eu tenho um equipamento antigo com uma CPU dual core (E7500) a 3,6 Ghz e estou pensando em substituí-la por uma CPU quad core (Q9400) a 3,2 Ghz. Quero ver se notarei uma melhoria de desempenho com os 2 núcleos extras (embora com uma queda na velocidade do núcleo). Eu cronometrarei as CPUs com o mesmo FSB (400Mhz) e o tamanho do cache é o mesmo por CPU (1,5MB) e, quanto vale, tenho 4GB de RAM (com potencial para atualizar para 6GB)

Meu filho usa principalmente o PC para reproduzir TF2 (que ainda estou tentando trabalhar no Linux) e também o uso para algumas codificações de vídeo (MP4 para DVD)

Eu estou pensando que eu poderia estar melhor com o quad core, mas qualquer feedback seria apreciado.

fatso
fonte
2
Geekbench que pode comparar CPUs (já existirem resultados do teste para o E7500 e o Q9400 , embora muitos estão em drasticamente diferentes configurações, que terá diferentes velocidades de barramento etc.
Wilf

Respostas:

88

Na verdade, existe uma ferramenta chamada como sysbench.

Você pode instalá-lo com sudo apt-get install sysbench

Para o benchmarking da CPU, você pode fazer como

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

onde 20000 é como a contagem máxima de eventos.

rɑːdʒɑ
fonte
7
--cpu-max-prime=20000é opcional, sendo o padrão 10000. Eu sugiro para manter o padrão e mexer com --max-requestsem vez (que é o número de operações realizadas)
MestreLion
11
Observe também que, por padrão, este é um teste de thread único. Para testar N núcleos, você pode usar --num-threads=Ne comparar resultados usando a saída de estatísticas por solicitação .
MestreLion 22/03
11
Existe um lugar para comparar a saída para obter um desempenho relativo?
jjxtra 13/09
31

Alternativamente, pode-se usar stress-ng. Possui um teste de estresse da CPU como um dos muitos testes de estresse integrados à ferramenta. O teste de estresse da CPU contém muitos métodos diferentes de estresse da CPU, abrangendo operações de números inteiros, ponto flutuante, operações de bits, computação mista, computação principal e uma ampla variedade de cálculos.

Instale usando:

sudo apt-get install stress-ng

Para ver os métodos de estresse relacionados à CPU, use:

stress-ng --cpu-method which

Para comparar, por exemplo, produto da matriz por 60 segundos em 4 threads da CPU, use:

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  
Colin Ian King
fonte
3
"Incapaz de localizar o stress-ng do pacote!"
Ehsan M. Kermani 5/02
11
Se você tiver uma versão mais antiga, o stress-ng não estará disponível no arquivo. No entanto, eles são empacotados em ppa: colin-king / white
Colin Ian King
11
Na página de manual stress-ng: "stress-ng também pode medir taxas de taxa de transferência de teste; isso pode ser útil para observar alterações de desempenho em diferentes versões de sistemas operacionais ou tipos de hardware. No entanto, nunca foi planejado para ser usado como uma referência precisa conjunto de testes, portanto, NÃO o use dessa maneira. "
Michael Franzl
3
Como autor do estresse, é melhor eu elaborar isso. O estresse-ng é bom o suficiente para obter alguns resultados comparativos de referência, mas não foi totalmente calibrado para dizer quanto desvio há em cada estressor específico. Por isso, sugiro executar um estressor de estresse várias vezes e ver quanta variação existe em um teste de estresse específico e, se ele não variar muito, pode ser considerado confiável o suficiente para uma referência para esse caso de uso específico. Tudo depende agora barulhento / ocupado um sistema é, quão bem eu / O executa, se troca, etc.
Colin Ian rei
11
Comparando stress-nge sysbench, um diz que o sistema A é mais rápido (125%), o outro diz que o sistema B é mais rápido (140%), qual deles está correto?
WM
10

phoronix-test-suite

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

Compara vários casos de uso pesados ​​da CPU no mundo real, como compactação, criptografia e bancos de dados.

Cuidado com isso pts/cpue com outros benchmarks que ocupam alguns gigabytes de espaço em disco. Isso pode implicar que eles tenham cargas de trabalho mais realistas.

Testado no Ubuntu 16.10.

Ciro Santilli adicionou uma nova foto
fonte
2
@downvoters please explicar :-)
Ciro Santilli escreveu:
2
Obrigado. Eu me afoguei nas opções de teste, usando o build-suite na minha primeira rodada com o phoronix.
precisa saber é o seguinte
11
não é no debian 9, mas você ainda pode baixar o pacote .deb de phoronix-test-suite.com/?k=downloads e executarsudo apt install ./phoronix-test-suite(...).deb
hanshenrik
11
Uma coisa que deve ser mencionada ao descrever o PTS é o tamanho de seus benchmarks. A execução do pts/cpubenchmark mencionado baixa cerca de 3 GB de dados e usa cerca de 7 GB de espaço em disco (no diretório inicial do usuário).
stefanct 23/07/2018
De acordo, se você está procurando uma referência simples, não quer o phoronix-test-suite, é enorme e continua pedindo para baixar cada vez mais dependências para executar testes. (Eu tenho certeza que é muito completo quando você realmente quer este embora)
Jamie Pate