Utilitaire d'analyse comparative de processeur pour Linux


66

Je recherche un utilitaire permettant d'évaluer les performances du processeur dans des instances à thread unique et à threads multiples. À l’heure actuelle, j’ai une vieille plate-forme avec un processeur double cœur (E7500) de 3,6 Ghz et j’essaie de la remplacer par un processeur quad core (Q9400) de 3,2 Ghz. Je veux voir si je vais constater une amélioration des performances avec les 2 cœurs supplémentaires (bien qu'avec une chute de la vitesse du cœur). Je vais synchroniser les processeurs avec le même FSB (400 Mhz) et la taille du cache est la même par processeur (1,5 Mo) et pour ce que cela vaut, j'ai 4 Go de RAM (avec une possibilité de mise à niveau à 6 Go)

Mon fils utilise principalement le PC pour jouer à TF2 (que j'essaie toujours de faire fonctionner sous Linux) et je l'utilise également pour certains encodages vidéo (MP4 sur DVD)

Je pense que je pourrais être mieux avec le quad core, mais tout retour serait apprécié.


2
Il existe un Geekbench qui peut comparer les processeurs (il existe déjà des résultats de test pour le e7500 et le q9400 , bien que beaucoup soient dans des configurations radicalement différentes, avec des vitesses de bus différentes, etc.
Wilf

Réponses:


88

En fait, il existe un outil nommé sysbench.

Vous pouvez l'installer avec sudo apt-get install sysbench

Pour évaluer le processeur, vous pouvez faire comme

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

où 20000 correspond au nombre maximal d'événements.


7
--cpu-max-prime=20000est optionnel, la valeur par défaut 10000. Je suggère de garder le défaut et de tripoter à la --max-requestsplace (qui est le nombre d'opérations effectuées)
MestreLion

11
Notez également qu’il s’agit par défaut d’un test à un seul thread. Pour tester N cœurs, vous pouvez utiliser --num-threads=Net comparer les résultats à l'aide de la sortie de statistiques par demande .
MestreLion

1
Existe-t-il un endroit où comparer la sortie pour obtenir une performance relative?
jjxtra le

31

Alternativement, on peut utiliser stress-ng. Il comporte un test de contrainte du processeur parmi les nombreux tests de contrainte intégrés à l'outil. Le test de contrainte de l'unité centrale contient de nombreuses méthodes de contrainte de l'unité centrale différentes, couvrant les opérations sur les nombres entiers, les nombres à virgule flottante, les opérations sur les bits, les calculs mixtes, les calculs principaux et une large gamme de calculs.

Installez en utilisant:

sudo apt-get install stress-ng

Pour voir les méthodes de stress liées au cpu, utilisez:

stress-ng --cpu-method which

Pour comparer, par exemple, un produit matriciel pendant 60 secondes sur 4 threads de la CPU, utilisez:

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
"Impossible de localiser le paquet stress-ng!"
Ehsan M. Kermani

1
Si vous avez une version plus ancienne, stress-ng ne sera pas disponible à partir des archives. Cependant, ils sont emballés dans du PPA: Colin-King / White
Colin Ian King

1
Dans la page de manuel stress-ng: "stress-ng permet également de mesurer les taux de rendement des tests; cela peut être utile pour observer les changements de performances entre différentes versions du système d'exploitation ou types de matériel. Toutefois, cette fonction n'a jamais été conçue pour servir de référence précise. suite de tests, ne l'utilisez PAS de cette manière. "
Michael Franzl

3
En tant qu'auteur de Stress-Ng, je ferais mieux de développer cela. stress-ng est suffisant pour obtenir des résultats de comparaison, mais il n’a pas été minutieusement calibré pour indiquer l’écart entre chaque facteur de stress spécifique. Je suggère donc de gérer plusieurs fois un facteur de stress et de voir combien il y a de variations dans un test de stress spécifique. S'il varie peu, il peut être considéré comme suffisamment fiable pour constituer une référence pour ce cas d'utilisation spécifique. Tout dépend du système actuellement bruyant / occupé, de la qualité des performances d'E / S, de son échange, etc.
Colin Ian King

1
En comparant stress-nget sysbench, on me dit que le système A est plus rapide (125%), l’autre me dit que le système B est plus rapide (140%), lequel est le bon?
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    

Analyse plusieurs cas d’utilisation très lourds du monde réel tels que la compression, le chiffrement et les bases de données.

Faites attention à cela pts/cpuet à d’autres tests de performance occupe quelques gigaoctets d’espace disque. Cela peut impliquer qu'ils ont des charges de travail plus réalistes.

Testé sur Ubuntu 16.10.


2
@ downvoters s'il vous plaît expliquer :-)
Ciro Santilli a annoncé le

2
Merci. Je me suis noyé dans les options de test, en utilisant build-suite lors de mon premier tour avec phoronix.
andersoyvind

1
ce n'est pas dans debian 9, mais vous pouvez toujours télécharger le fichier .deb à partir de phoronix-test-suite.com/?k=downloads et lancersudo apt install ./phoronix-test-suite(...).deb
hanshenrik le

1
Une chose à mentionner lors de la description du STP est la taille de ses points de repère. L'exécution du test de pts/cpuréférence mentionné télécharge environ 3 Go de données et utilise environ 7 Go d'espace disque (dans le répertoire de base de l'utilisateur).
Stefanct

D'accord, si vous recherchez un simple point de repère, vous ne voulez pas de la suite phoronix-test, elle est massive et continue de vous demander de télécharger de plus en plus de dépendances pour exécuter des tests. (Je suis sûr que c'est très approfondi quand vous le voulez vraiment)
Jamie Pate
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.