Utilità di benchmarking della CPU per Linux


66

Sto cercando un'utilità che confronterà le prestazioni della CPU in istanze single e multi thread. Al momento ho un vecchio impianto con una CPU dual core (E7500) a 3,6 Ghz e sto cercando di sostituirlo con una CPU quad core (Q9400) a 3,2 Ghz. Voglio vedere se noterò un miglioramento delle prestazioni con i 2 core extra (anche se con un calo della velocità del core). Farò il clock della CPU con lo stesso FSB (400Mhz) e la dimensione della cache è la stessa per CPU (1.5MB) e per quello che vale ho 4 GB di RAM (con potenziale per l'aggiornamento a 6 GB)

Mio figlio usa principalmente il PC per giocare a TF2 (che sto ancora cercando di far funzionare sotto Linux) e lo uso anche per alcune codifiche video (da MP4 a DVD)

Sto pensando che potrei stare meglio con il quad core ma ogni feedback sarebbe apprezzato.


2
C'è Geekbench che può confrontare le CPU (ci sono già risultati di test esistenti per e7500 e q9400 , anche se molti sono in configurazioni drasticamente diverse, che avranno diverse velocità del bus ecc.
Wilf

Risposte:


88

In realtà c'è uno strumento chiamato come sysbench.

Puoi installarlo con sudo apt-get install sysbench

Al benchmarking della CPU puoi fare come

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

dove 20000 è come il conteggio massimo di eventi.


7
--cpu-max-prime=20000è facoltativo, il valore predefinito è 10000. Suggerisco invece di mantenere il default e giocherellare --max-requestsinvece (che è il numero di operazioni eseguite)
MestreLion

11
Si noti inoltre che per impostazione predefinita si tratta di un test a thread singolo. Per testare N core è possibile utilizzare --num-threads=Ne confrontare i risultati utilizzando l' output delle statistiche per richiesta .
MestreLion,

1
C'è un posto per confrontare l'output per ottenere prestazioni relative?
jjxtra,

31

In alternativa, si può usare stress-ng. Ha uno stress test della CPU come uno dei tanti stress test integrati nello strumento. Lo stress test della cpu contiene molti diversi metodi di stress della CPU che coprono numeri interi, virgola mobile, operazioni a bit, calcolo misto, calcolo primo e una vasta gamma di calcoli.

Installa usando:

sudo apt-get install stress-ng

Per vedere i metodi di stress relativi alla CPU usare:

stress-ng --cpu-method which

Per eseguire il benchmark, ad esempio, prodotto matrix per 60 secondi su 4 thread CPU, utilizzare:

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
"Impossibile trovare il pacchetto stress-ng!"
Ehsan M. Kermani,

1
Se hai una versione precedente, stress-ng non sarà disponibile dall'archivio. Tuttavia, sono confezionati in ppa: colin-king / white
Colin Ian King

1
Dalla manpage stress-ng: "stress-ng può anche misurare le velocità di throughput dei test; questo può essere utile per osservare i cambiamenti delle prestazioni tra diverse versioni del sistema operativo o tipi di hardware. Tuttavia, non è mai stato pensato per essere usato come un benchmark preciso suite di test, quindi NON utilizzarlo in questo modo. "
Michael Franzl,

3
Come autore di stress, vorrei approfondire questo aspetto. stress-ng è abbastanza buono da ottenere alcuni risultati comparativi di benchmark, ma non è stato accuratamente calibrato per dire quanta deviazione c'è su ogni specifico fattore di stress. Suggerisco quindi di eseguire più volte un fattore di stress e di vedere quanta variazione esiste in uno specifico stress test e, se non varia molto, può essere considerato sufficientemente affidabile per un benchmark per quel caso d'uso specifico. Tutto dipende da quanto è rumoroso / occupato un sistema, da quanto bene funziona l'I / O, se scambia, ecc.
Colin Ian King,

1
Confrontando stress-nge sysbench, uno mi dice che il sistema A è più veloce (125%), l'altro mi dice che il sistema B è più veloce (140%), quale è corretto?
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    

Confronta diversi casi di utilizzo della CPU come la compressione, la crittografia e i database.

Attenzione che pts/cpue altri benchmark occupano alcuni gigabyte di spazio su disco. Ciò potrebbe implicare che abbiano carichi di lavoro più realistici.

Testato su Ubuntu 16.10.


2
@downvoters per favore spiega :-)
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

2
Grazie. Sono annegato nelle opzioni di test, usando build-suite nel mio primo round con phoronix.
Andersoyvind

1
non è in debian 9, ma puoi comunque scaricare il .deb da phoronix-test-suite.com/?k=downloads ed eseguiresudo apt install ./phoronix-test-suite(...).deb
hanshenrik il

1
Una cosa che dovrebbe essere menzionata nella descrizione del PTS è la dimensione dei suoi parametri di riferimento. L'esecuzione del pts/cpubenchmark menzionato scarica circa 3 GB di dati e utilizza circa 7 GB di spazio su disco (nella home directory dell'utente).
stefanct,

D'accordo, se stai cercando un semplice benchmark quindi non vuoi phoronix-test-suite, è enorme e continua a chiedere di scaricare sempre più dipendenze per eseguire i test. (Sono sicuro che è davvero accurato quando lo vuoi davvero)
Jamie Pate
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.