Un moyen de vérifier la vitesse d'horloge de mon processeur?


187

Existe-t-il un moyen de vérifier la vitesse d'horloge de mon processeur?

J'ai déjà essayé, cat /proc/cpuinfomais la vitesse d'horloge que je cours ne s'affiche pas. Je sais que Ubuntu 12.04 (Precise Pangolin) requiert 700 MHz et VGA, mais un AMD Mobile Sempron fonctionnera-t-il?


Vous avez besoin d’être plus précis sur la deuxième partie de votre question. Connaissez-vous le numéro de modèle?
LiveWireBT

Merci pour toutes les réponses mais je vais bien maintenant!
user1610406

Réponses:


199

À partir du type de ligne de commande lscpu. Les informations seront en MHz MHz:

~$ lscpu | grep MHz
CPU MHz:               804.901
CPU max MHz:           3200.0000
CPU min MHz:           800.0000

12
Notez que la valeur de CPU MHz n'est pas fixe et peut changer d'une seconde à l'autre.
Cerin

18
Si vous souhaitez avoir le mettre à jour en temps réel, cela vous aidera: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali

1
@ Ivan: Désolé, ignorez cela. La sortie de cette commande:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali

3
@ Ivan: D'accord, voilà:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali,

1
@ Ivan: Pour une observation momentanée, vous n'avez pas besoin watch. Cela ferait: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. Je ne suis pas sûr de la sortie exacte que vous obtenez sur votre système. J'expliquerai la commande si cela vous aide: lscpuobtient d' abord la totalité de la sortie contenant les informations relatives à votre CPU, greppuis recherche CPU MHzet imprime uniquement cette ligne, awksupprime le $N-thbloc et l'affiche. Et si vous voulez que le résultat change en temps réel, placez la commande dans un watch -n1 "...".
Amal Murali

173

Il y a deux manières:

  1. lscpuou plus précis lscpu | grep "MHz".
    Cela vous donnera le MHz général pour le processeur.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfoou plus précis cat /proc/cpuinfo | grep "MHz".
    Cela vous donnera le MHz individuel pour chaque cœur de CPU. Donc, si vous avez un Core 2 Duo, un bulldozer AMD, un Core i7, etc., il indiquera le MHz pour chaque noyau.

    $ cat /proc/cpuinfo | grep "MHz"
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 1600.000
    cpu MHz     : 3400.000
    
  3. lshw -c cpuou version plus précise: lshw -c cpu | grep capacity
    vous donnera le MHz général. Identique à lscpu.

    $ lshw -c cpu | grep capacity
    WARNING: you should run this program as super-user.
           capacity: 1600MHz
    WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
    
  4. sudo dmidecode -t processorou plus précis: sudo dmidecode -t processor | grep "Speed"vous donnera non seulement le MHz utilisé mais également le maximum auquel vous pouvez pousser / overclocker votre processeur.

    $ sudo dmidecode -t processor | grep Speed
    [sudo] password for cyrex: 
        Max Speed: 4000 MHz
        Current Speed: 2666 MHz
    

De tout cela, lshwet dmidecodefournissez les meilleures informations de votre CPU.

Vous pouvez également cibler le MHz actuel détecté par le noyau en interrogeant les fichiers journaux:

cat /var/log/dmesg | grep "MHz processor" - Pour la vitesse actuellement détectée en MHz

cat /var/log/kern.log | grep "MHz processor"- Pour les vitesses en MHz détectées actuelles et passées. Ne fonctionnera pas dans certains cas, c'est pourquoi j'ai posté le dmesgpremier.

Et c'est tout ce dont je me souviens du haut de ma tête. Je suis assez certain qu'il existe d'autres moyens, mais ne vous en souvenez pas pour l'instant. Bien sûr, parler de moyens terminaux.


1
Pour moi, toutes les options, à l'exception de dmidecode, ont donné une fausse lecture: j'overclocke une puce Intel E6600 de 2,4 GHz sur une carte ga-965p-ds3 3.3 gigaoctet avec un multiplicateur de fréquence et une fréquence de 400 MHz pour un processeur de 2,8 GHz, mais le multiplicateur d'actions est 9 (9x266 = 2,4 GHz) donc je soupçonne que le reste des outils supposent que multiplicateur est stock et fois que par le CPU mhz, de sorte que dans mon cas, ils donnent tous 3,6 GHz.
dez93_2000

3
dmidecodesemble être le seul à signaler avec précision la vitesse d'horloge lors de l'overclocking
Avindra Goolcharan

1
Notez qu'il est dmidecodegénéralement impossible de faire confiance aux informations provenant de votre système, car il ne fait que lire les données des tables DMI, ce qui peut être erroné. La page de manuel de dmidecode indique même que les informations sont "potentiellement peu fiables", et poursuit: "Le tableau DMI décrit non seulement la composition actuelle du système, mais également les évolutions possibles (telles que le processeur le plus rapide ou la quantité maximale de mémoire prise en charge). " "Le plus souvent, les informations contenues dans les tableaux DMI sont inexactes, incomplètes ou tout simplement fausses."
Cerran le

1
dmidecodene semble pas fonctionner, il montre que le processeur est bloqué à la fréquence maximale, ce qui n’est pas précis, j'en suis sûr. powertopet lscpumontrer la fréquence variable réelle.
Rolf

1
Vous ne devez cat /path/to/file | grep "some string"- vous pouvez simplement greple fichier directement à la place: grep "some string" /path/to/file. Réponse géniale, cependant.
mgarey le

89

Pour la vitesse actuelle du processeur, on peut suivre ce changement de manière dynamique en temps réel en utilisant:

sudo watch -n 1  cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

Pour voir la vitesse maximale du processeur, utilisez:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq 

4
+1, je sais que c'est un site Ubuntu, mais cela semble être la seule réponse fournissant une commande totalement indépendante du système d'exploitation.
Andy E

Si vous obtenez une autorisation refusée pour lire scaling_max_freq, essayez cpuinfo_max_freq.
LightStruk

6
cpufreq/cpuinfo_cur_freqn'existe pas
Ken Sharp

1
+1, même sur plusieurs systèmes ARM exécutant ubtunu, seule cette solution fonctionne. Toutes les autres "solutions" données sur cette page y échouent, alors que cela fonctionne partout.
Philippos

4
Le pilote intel_pstate CPU Freq ne fournit pas cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverpour voir quel pilote est actuellement utilisé. BTW cpuinfo_cur_freqest le point de vue du matériel et du point de vue du scaling_cur_freqnoyau sur la fréquence actuelle du processeur. Plus sur static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji

15

indicateur-cpufreq-sélecteur est un joli petit indicateur qui indique la fréquence actuelle de votre unité centrale. Vous pouvez même sélectionner la fréquence de l'unité centrale souhaitée.

entrez la description de l'image ici

Cependant, la dernière mise à jour de cet outil date du 2015-10-19 .


5
Vous pouvez l'installer avec sudo apt-get install indicator-cpufreq.
Wilf

2
Et après l'installation, vous aurez besoin de redémarrer avant qu'il ne s'affiche.
Talyric

Ne fonctionne pas bien dans les nouveaux Ubuntus, voire pas du tout.
Ken Sharp

7

J'aimerais souligner qu'il sudoest nécessaire pour la réponse de Ian ci-dessus:

sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq

Cependant, vous pouvez obtenir les mêmes résultats sans utiliser sudo:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq

Mon préféré est d'utiliser Conky où vous pouvez peindre votre propre image:

Conky.gif

Cela se trouve tout le temps à droite de mon écran intégré. Le code pertinent pour la section CPU est:

${color2}${voffset 5}Intel® i-7 3630QM 3.4 GHz: ${color1}@  ${color green}${freq} MHz   
${color}${goto 13}CPU 1 ${goto 81}${color green}${cpu cpu1}% ${goto 131}${color3}${cpubar cpu1 18}
${color}${goto 13}CPU 2 ${goto 81}${color green}${cpu cpu2}% ${goto 131}${color3}${cpubar cpu2 18}
${color}${goto 13}CPU 3 ${goto 81}${color green}${cpu cpu3}% ${goto 131}${color3}${cpubar cpu3 18}
${color}${goto 13}CPU 4 ${goto 81}${color green}${cpu cpu4}% ${goto 131}${color3}${cpubar cpu4 18}
${color}${goto 13}CPU 5 ${goto 81}${color green}${cpu cpu5}% ${goto 131}${color3}${cpubar cpu5 18}
${color}${goto 13}CPU 6 ${goto 81}${color green}${cpu cpu6}% ${goto 131}${color3}${cpubar cpu6 18}
${color}${goto 13}CPU 7 ${goto 81}${color green}${cpu cpu7}% ${goto 131}${color3}${cpubar cpu7 18}
${color}${goto 13}CPU 8 ${goto 81}${color green}${cpu cpu8}% ${goto 131}${color3}${cpubar cpu8 18}
${color1}All CPU ${color green}${cpu}% ${goto 131}${color1}Temp: ${color green}${hwmon 2 temp 1}°C ${goto 250}${color1}Up: ${color green}$uptime

1
Où est Conky et qu'est-ce que c'est?
not2qubit

@ not2qubit Je mettrai à jour cette réponse plus tard, mais en attendant, consultez cet article d'Arch Linux: wiki.archlinux.org/index.php/conky
WinEunuuchs2Unix

6

Je voudrais juste ajouter i7zà cette liste. Contrairement aux autres options, cela fonctionne mieux pour les processeurs des séries i7, i5 et i3 dotés de TurboBoost.


Exactement ce dont j'avais besoin. Et il montre également les tensions Vcore, les multiplicateurs Turbo, les arrêts C0, etc. Très sympa!
Andriy Makukha

Attention, nécessite 30 Mo de rubis et des outils assortis.
Gringo Suave

3
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies

2

Si vous utilisez un périphérique ARM intégré (tel qu'un téléphone Raspberry ou basé sur ARM), vous ne pourrez pas utiliser de solutions à l'aide de lscpu, dmidecodeou /proc/cpuinfoparce que la vitesse actuelle n'y figure pas, si l'outil est disponible. Au lieu de cela, vous devez utiliser sysfs :

alias getcpuf='i=1; for x in $(sudo cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq); do y=$(($x/1000)); echo "CPU-${i}: $y MHz"; i=$((i+1)); done;'

# getcpuf
CPU-1: 600 MHz
CPU-2: 600 MHz
CPU-3: 600 MHz
CPU-4: 600 MHz

2

Voici un moyen simple d'obtenir des fréquences CPU pour tous les threads du processeur:

  1. Assurez-vous qu'il cpufrequtilsest installé.

  2. Ensuite, dans un terminal, exécutez la commande suivante:

    cpufreq-info | grep "frequency is"
    

2

Cela fonctionne bien pour les vitesses de processeur en temps réel

 watch "grep 'cpu MHz' /proc/cpuinfo"

Tant que cette fonction est active, vous pouvez également envoyer du spam au processeur pour connaître les vitesses maximales en temps réel qu’il peut atteindre. openssl speed



1

Je voulais partager cela en tant que commentaire, mais je n’ai pas beaucoup de réputation sur askubuntu. Les personnes qui souhaitent utiliser indicator-cpufreq n’ont pas besoin de redémarrer leur ordinateur. La réinitialisation de la session X en cours suffit pour afficher l’icône.

sudo apt-get install indicator-cpufreq   
DISPLAY=:0 compiz --replace

Vous pouvez valider les options Performance et Powersave en affichant la fréquence actuelle en

watch -d "cat /proc/cpuinfo | grep -i Mhz"

Dès que vous cliquez sur une fréquence inférieure / Powersave, la gestion autonome de la CPU intervient, réduisant ainsi le cycle d'horloge.


L'utilisateur se connectant et se déconnectant à nouveau (mais pas en redémarrant) fonctionnerait probablement aussi bien
Xen2050

1

C'est mon préféré:

watch -n1 "cat /proc/cpuinfo | grep 'MHz'"

Bien que si vous avez Turbo Boost (ou Turbo Core si AMD), vous préférerez probablement:

sudo watch -n 1 -d cpupower monitor

qui utilise cpupowerdepuis le groupe linux-tools .


0

Exemple de sortie de cat /proc/cpuinfo

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

Ici, cpu MHzsignifie fréquence actuelle du processeur. Vous pouvez courir cpufreq-infopour comprendre facilement.


redondant et long!
Rishav Ambasta

0

Dans un terminal Linux, tapez la commande suivante pour obtenir le nom du cœur de la CPU et sa vitesse actuelle:

cat /proc/cpuinfo | grep -E "model name|cpu MHz"


0

sudo powertop puis appuyez deux fois sur la touche Tab pour accéder à l'onglet "Statistiques de fréquence".

Il affiche la fréquence réelle (précise sur mon ordinateur portable, par opposition à dmidecode), ainsi que des statistiques sur le temps passé sur chaque fréquence disponible.


At-il une ligne spécifique pour la fréquence actuelle? Veut simplement montrer le% de temps pendant lequel chaque fréquence + état inactif est "actif", aucune indication de ce qui est actif en ce moment?
Xen2050

@ La fréquence du processeur Xen2050 peut changer en quelques millisecondes, alors les statistiques m'intéressent davantage. Vous pouvez courir powertop -t 1pour un délai peu élevé, de sorte que les statistiques soient mises à jour toutes les secondes.
Rolf

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.