J'ai trouvé deux commandes pour générer des informations sur mon processeur: cat /proc/cpuinfo
et lscpu
. /proc/cpuinfo
montre que la vitesse de mon processeur est de 2,1 Ghz, tandis que lspcu
indique qu'elle est de 3167 Mhz. Laquelle est correcte?
Ceci est ma sortie exacte de cat /proc/cpuinfo
sur la vitesse de mon processeur:
model name : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz
Et cela vient de lscpu
:
CPU MHz: 3225.234
(Pour une raison quelconque, lscpu
sort à chaque fois différemment, variant entre 3100 et 3300 MHz)
Pour voir la vitesse actuelle de chaque cœur, je fais ceci:
watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
Remarque:
Si votre commande watch
ne fonctionne pas avec des intervalles inférieurs à une seconde, modifiez l'intervalle comme suit:
watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""
Cela affiche le cpu speed
de chaque cœur en temps réel.
En exécutant la commande suivante, une ou plusieurs fois, depuis un autre terminal, on peut voir le changement de vitesse avec la commande watch
ci-dessus, en supposant que SpeedStep
est activé (Cool'n'Quiet
pour AMD
).
echo "scale=10000; 4*a(1)" | bc -l &
(Cette commande utilise bc
pour calculer pi
à 10 000 emplacements.)
Pour les processeurs basés sur Intel i3, i5 et i7, il existe un outil dédié appelé i7z
qui indique la vitesse actuelle de tous les cœurs de processeur.
Depuis la page de manuel (description):
i7z exécute le programme i7z, basé sur ncurses, sans aucune option. i7z imprimera les états C et la température pour les processeurs Core basés sur i3, i5 et i7 d'Intel (y compris Nehalems, Sandy Bridge et Ivy Bridge).
Pour les distributions basées sur Ubuntu, vous pouvez l'installer en émettant cette commande:
Sudo apt-get install i7z
puis lancez-le (l'outil doit être exécuté avec Sudo):
Sudo i7z
Les fréquences CPU sont conservées dans le noyau mais elles peuvent être un peu "éteintes". Vous pouvez les voir en utilisant:
$ cd /sys/devices/system/cpu
$ paste <(cat cpu*/cpufreq/affected_cpus) <(cat cpu*/cpufreq/scaling_cur_freq) | column -s $'\t' -t
0 833914
1 800021
2 800086
3 800029
4 800036
5 800460
6 800118
7 800141
Si vous n'avez pas besoin de connaître le CPU #, une méthode plus courte utilise simplement:
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1396354
800058
800050
800024
800005
800017
800001
1392006
Le Processeur Intel Core i7-460 prend en charge technologie Turbo Boost . Il a une fréquence de base de 2,10 GHz et une fréquence turbo maximale de 3,30 GHz. Cela veut dire que,
Obtention de la fréquence actuelle
Pour déterminer si le Turbo Boost est activé et quelle est la fréquence actuelle, vous pouvez utiliser cpupower frequency-info
. Par exemple, pour un ancien Intel Core i5-660 avec Turbo Boost activé, vous obtiendrez les éléments suivants.
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.20 GHz - 3.47 GHz
available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.20 GHz and 3.47 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.87 GHz.
cpufreq stats: 3.47 GHz:82,67%, 3.33 GHz:0,00%, 2.53 GHz:0,00%, 1.87 GHz:0,06%, 1.20 GHz:17,28% (3)
boost state support:
Supported: yes
Active: yes
25500 MHz max turbo 4 active cores
25500 MHz max turbo 3 active cores
25500 MHz max turbo 2 active cores
25500 MHz max turbo 1 active cores
Notez que les informations indiquent les limites matérielles (1.20 GHz - 3.47 GHz
), les fréquences possibles (3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
) et la fréquence actuelle (1.87 GHz
). Vous pouvez trouver les informations techniques de ces fréquences sur le site Web d'Intel .
Fréquence lorsque TurboBoost est désactivé
Notez la différence lorsque vous exécutez la même commande avec Turbo Boost désactivé: Dans le boost state support
, les valeurs de Supported
et Active
sont no
. Ici, le CPU sera toujours à la valeur nominale/minimale (1,20 GHz).
$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.20 GHz - 3.47 GHz
available frequency steps: 3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.20 GHz and 3.47 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.20 GHz.
cpufreq stats: 3.47 GHz:40,86%, 3.33 GHz:0,01%, 2.53 GHz:0,06%, 1.87 GHz:0,22%, 1.20 GHz:58,85% (493)
boost state support:
Supported: no
Active: no
25500 MHz max turbo 4 active cores
25500 MHz max turbo 3 active cores
25500 MHz max turbo 2 active cores
25500 MHz max turbo 1 active cores
Vous pouvez désactiver le Turbo Boost en utilisant le BIOS ou certains options/commandes Linux . support du noya peut être activé/désactivé en utilisant le /sys/devices/system/cpu/cpufreq/boost
fichier.
Pour obtenir des informations sur votre CPU, tapez la commande suivante:
dmidecode -t 4
Cela dépend de la raison pour laquelle vous utilisez les informations; la ligne de sortie de cat/proc/cpuinfo` est la vitesse "annoncée", la vitesse dans la brochure, etc. Si vous comparez le serveur A au serveur B, cela peut être suffisant. Si vous surveillez les charges de travail sur le système, les commentaires à votre question et la réponse de @ gad3r seraient ce qu'il faudrait regarder.