90 votes

Utilitaire de benchmarking du CPU pour Linux

Je suis à la recherche d'un utilitaire permettant d'évaluer les performances du processeur dans des instances mono- et multi-filières. Actuellement, j'ai un vieux système avec un processeur double cœur (E7500) à 3,6 Ghz et j'envisage de le remplacer par un processeur quadruple cœur (Q9400) à 3,2 Ghz. Je veux voir si je remarquerai une amélioration des performances avec les 2 cœurs supplémentaires (bien qu'avec une baisse de la vitesse du cœur). Je vais cadencer les CPU avec le même FSB (400Mhz) et la taille du cache est la même par CPU (1,5 Mo) et pour ce que ça vaut, j'ai 4 Go de RAM (avec la possibilité de passer à 6 Go).

Mon fils utilise principalement le PC pour jouer à TF2 (que j'essaie encore de faire fonctionner sous Linux) et je l'utilise aussi pour de l'encodage vidéo (MP4 vers DVD).

Je pense qu'il serait préférable que je choisisse le quadri-cœur, mais tout commentaire serait apprécié.

111voto

Zian Choy Points 1510

En fait, il existe un outil appelé sysbench .

Vous pouvez l'installer avec :

sudo apt-get install sysbench

Pour le benchmarking du CPU, vous pouvez faire comme suit

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

où 20000 est comme le nombre maximum d'événements.

35voto

Colin Ian King Points 16984

Alternativement, on peut utiliser stress-ng . Le test de stress du processeur est l'un des nombreux tests de stress intégrés à l'outil. Le test de stress du CPU contient de nombreuses méthodes différentes de stress du CPU couvrant les opérations sur les nombres entiers, les nombres à virgule flottante, les opérations sur les bits, les calculs mixtes, les calculs sur les nombres premiers et un large éventail de calculs.

Installer en utilisant :

sudo apt-get install stress-ng

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

stress-ng --cpu-method which

Pour évaluer, par exemple, un produit matriciel pendant 60 secondes sur 4 threads de 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

26voto

CenterOrbit Points 487

Ancienne question (sans réponse sélectionnée pour le moment)

Mais j'ai récemment cherché un outil disponible dans plusieurs "distros" (Termux n'étant pas vraiment une distro) dont Ubuntu, et bien que les paquets mentionnés ci-dessus soient un bon choix commun, j'ai lu ici : https://linuxhint.com/useful_linux_stress_test_benchmark_cpu_perf/ que 7-zip dispose d'un outil de benchmarking intégré ! Et 7zip peut être trouvé dans presque tous les dépôts de distros.

Pour exécuter un benchmark mono-fil : 7z b -mmt1

Pour exécuter un benchmark multi-thread : 7z b

Résultats de mon téléphone Pixel 2 :

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,8 CPUs LE)

LE
CPU Freq:  1509  2234  2434  2447  2433  2406  2430  2425  2400

RAM size:    3657 MB,  # CPU hardware threads:   8
RAM usage:    435 MB,  # Benchmark threads:      1

                       Compressing  |                  Decompressing
Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
         KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS

22:       1666    99   1631   1621  |      30427   100   2608   2598
23:       1602    99   1644   1633  |      29815   100   2589   2581
24:       1517    99   1644   1632  |      29441   100   2595   2585
25:       1397    99   1607   1596  |      28748   100   2567   2559
----------------------------------  | ------------------------------
Avr:              99   1632   1620  |              100   2590   2581
Tot:              99   2111   2100

14voto

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    

Il évalue plusieurs cas réels d'utilisation intensive du processeur, comme la compression, le cryptage et les bases de données.

Attention pts/cpu et d'autres benchmarks prend quelques gigaoctets d'espace disque. Cela pourrait impliquer qu'ils ont des charges de travail plus réalistes.

Testé sur Ubuntu 16.10.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X