Utilitário de benchmarking de CPU para Linux

44

Estou à procura de um utilitário que irá avaliar o desempenho da CPU em instâncias com encadeamento único ou múltiplo. Atualmente eu tenho uma plataforma antiga com um CPU dual core (E7500) a 3.6 Ghz e estou olhando para substituí-la por uma CPU quad core (Q9400) a 3.2 Ghz. Eu quero ver se vou notar uma melhoria de desempenho com os 2 núcleos extras (embora com uma queda na velocidade do núcleo). Vou marcar o CPU com o mesmo FSB (400Mhz) e o tamanho do cache é o mesmo por CPU (1.5MB) e por quanto vale eu tenho 4GB de RAM (com potencial para upgrade para 6GB)

Meu filho usa principalmente o PC para jogar TF2 (que eu ainda estou tentando trabalhar com o Linux) e também o uso para codificação de vídeo (MP4 para DVD)

Estou a pensar que poderia estar melhor com o quad core, mas qualquer feedback seria apreciado.

    
por fatso 10.06.2015 / 08:10

3 respostas

58

Na verdade, existe uma ferramenta chamada sysbench .

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

Para benchmarking de CPU, você pode fazer como

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

em que 20000 é como a contagem máxima de eventos.

    
por Ten-Coin 10.06.2015 / 08:19
24

Como alternativa, pode-se usar stress-ng . Ele tem um teste de estresse da CPU como um dos muitos testes de estresse embutidos na ferramenta. O teste de estresse da CPU contém muitos métodos diferentes de estresse da CPU, que abrangem operações de inteiros, ponto flutuante, de bits, computação mista, computação principal e uma ampla gama de cálculos.

Instalar 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, produtos de matriz por 60 segundos em 4 threads de 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  
    
por Colin Ian King 23.11.2015 / 15:39
8

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    

Faz um benchmark de vários casos reais de uso pesado da CPU, como compressão, criptografia e bancos de dados.

Testado no Ubuntu 16.10.