Wie kann ich die Taktrate meines Prozessors überprüfen?


187

Gibt es eine Möglichkeit zu überprüfen, mit welcher Taktrate mein Prozessor läuft?

Ich habe es bereits versucht, cat /proc/cpuinfoaber die von mir gelaufene Taktrate wird nicht angezeigt. Ich weiß, dass Ubuntu 12.04 (Precise Pangolin) 700 MHz und VGA erfordert, aber funktioniert ein AMD Mobile Sempron?


Sie benötigen genauere Informationen zum zweiten Teil Ihrer Frage. Kennen Sie die Modellnummer?
LiveWireBT

Vielen Dank für alle Antworten, aber jetzt bin ich gut!
user1610406

Antworten:


199

Von der Befehlszeile aus lscpu. Die Informationen werden bei CPU MHz sein:

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

12
Beachten Sie, dass der Wert von CPU-MHz nicht festgelegt ist und sich sekundenweise ändern kann.
Cerin

18
Wenn Sie möchten , dass es in Echtzeit aktualisiert haben, wird dies dazu beitragen: watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'".
Amal Murali

1
@Ivan: Entschuldigung, ignoriere das. Die Ausgabe dieses Befehls:watch -n1 "lscpu | grep 'MHz' | awk '{print $1}'"
Amal Murali

3
@Ivan: Okay, hier geht's:watch -n1 "lscpu | grep 'CPU MHz' | awk '{print $1}'"
Amal Murali

1
@Ivan: Für eine momentane Beobachtung brauchst du nicht watch. Dies würde tun: lscpu | grep 'CPU MHz' | awk '{ print $3; }'. Ich bin mir nicht sicher, welche Ausgabe Sie auf Ihrem System erhalten. Ich erkläre den Befehl, wenn dies hilfreich ist: Zuerst lscpuwird die vollständige Ausgabe abgerufen, die Informationen zu Ihrer CPU enthält, grepdann CPU MHzwird nur diese Zeile gesucht und ausgedruckt awk, der $N-thBlock wird herausgenommen und angezeigt. Wenn Sie möchten, dass sich das Ergebnis in Echtzeit ändert, schreiben Sie den Befehl in a watch -n1 "...".
Amal Murali

172

Es gibt verschiedene Möglichkeiten:

  1. lscpuoder genauer lscpu | grep "MHz".
    Dies gibt Ihnen die allgemeinen MHz für die CPU.

    $ lscpu | grep "MHz".
    CPU MHz:               1600.000
    
  2. cat /proc/cpuinfooder genauer cat /proc/cpuinfo | grep "MHz".
    Dies gibt Ihnen die individuellen MHz für jeden CPU-Kern. Wenn Sie also einen Core 2 Duo, einen AMD Bulldozer, einen Core i7 usw. haben, werden die MHz für jeden Kern angezeigt.

    $ 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 cpuoder genauere Version: lshw -c cpu | grep capacity
    Gibt Ihnen die allgemeinen MHz. Gleich wie 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 processoroder genauer: sudo dmidecode -t processor | grep "Speed"Gibt Ihnen nicht nur einen MHz im Einsatz, sondern auch das Maximum, auf das Sie Ihre CPU pushen / übertakten können.

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

Aus all dem heraus lshwund dmidecodebieten Sie die besten Informationen aus Ihrer CPU.

Sie können auch das vom Kernel erkannte aktuelle MHz als Ziel festlegen, indem Sie die Protokolldateien abfragen:

cat /var/log/dmesg | grep "MHz processor" - Für die aktuell erkannte MHz-Geschwindigkeit

cat /var/log/kern.log | grep "MHz processor"- Für die aktuell und in der Vergangenheit erkannten MHz-Geschwindigkeiten. Funktioniert in manchen Fällen nicht, deswegen habe ich das dmesgerstmal gepostet .

Und das ist alles, woran ich mich von oben erinnern kann. Ich bin mir ziemlich sicher, dass es noch andere Möglichkeiten gibt. Natürlich, wenn es um terminale Wege geht.


1
Für mich gaben alle Optionen außer dmidecode einen falschen Wert: Ich übertakte einen Intel E6600 2,4-GHz-Chip auf einem Gigabyte-Ga-965p-DS3 3,3-Board mit 7-fachem Multiplikator und einer CPU-Frequenz von 400 MHz 9 (9x266 = 2,4 GHz), also vermute ich, dass der Rest der Tools davon ausgeht, dass der Multiplikator auf Lager ist und mal so viel wie die CPU-Mhz, also geben sie in meinem Fall alle 3,6 GHz.
Dez93_2000

3
dmidecodescheint der einzige zu sein, der die Taktrate beim Übertakten genau meldet
Avindra Goolcharan

1
Beachten Sie, dass die Informationen von im dmidecodeAllgemeinen nicht als zuverlässig für Ihr System gelten, da nur Daten aus den DMI-Tabellen gelesen werden, was möglicherweise falsch ist. Die Manpage für dmidecode sagt sogar, dass die Informationen "möglicherweise unzuverlässig" sind, und fährt fort: "Die DMI-Tabelle beschreibt nicht nur, woraus das System derzeit besteht, sondern kann auch die möglichen Entwicklungen (wie die am schnellsten unterstützte CPU) melden oder die maximal unterstützte Speicherkapazität). " "Die in den DMI-Tabellen enthaltenen Informationen sind häufig ungenau, unvollständig oder einfach falsch."
Cerran

1
dmidecodescheint nicht zu funktionieren, es zeigt die CPU bei maximaler Frequenz stecken, was nicht genau ist, ich bin mir ziemlich sicher. powertopund lscpuzeigen die tatsächliche variable Frequenz.
Rolf

1
Sie brauchen nicht zu cat /path/to/file | grep "some string"- man kann nur grepdie Datei direkt statt: grep "some string" /path/to/file. Geniale Antwort.
mgarey

89

Für die aktuelle CPU-Geschwindigkeit kann man diese Änderung dynamisch in Echtzeit beobachten, indem man verwendet:

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

Verwenden Sie zum Anzeigen der maximalen CPU-Geschwindigkeit Folgendes:

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

4
+1, ich weiß, dass dies eine Ubuntu-Site ist, aber dies scheint die einzige Antwort zu sein, die einen Befehl liefert, der völlig unabhängig vom Betriebssystem ist.
Andy E

Wenn die Berechtigung zum Lesen von scaling_max_freq verweigert wird, versuchen Sie es mit cpuinfo_max_freq.
LightStruk

6
cpufreq/cpuinfo_cur_freqexistiert nicht
Ken Sharp

1
+1, auch auf mehreren ARM-basierten Systemen, auf denen ubtunu ausgeführt wird, funktioniert nur diese Lösung. Jede andere "Lösung" auf dieser Seite schlägt dort fehl, während dies überall funktioniert.
Philippos

4
Der intel_pstate-CPU-Freq-Treiber bietet keine cpuinfo_cur_freq. cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverum zu sehen, welcher Treiber aktuell verwendet wird. Übrigens cpuinfo_cur_freqist die Sicht der Hardware und die Sicht des scaling_cur_freqKernels auf die aktuelle CPU-Frequenz. Mehr auf static.lwn.net/kerneldoc/admin-guide/pm/…
Yasushi Shoji

15

indicator-cpufreq-selector ist ein nettes kleines Anzeigetool , das Ihre aktuelle CPU-Frequenz anzeigt. Sie können sogar die gewünschte CPU-Frequenz auswählen.

Bildbeschreibung hier eingeben

Das letzte Update für dieses Tool war jedoch am 19.10.2015 .


5
Sie können es mit installieren sudo apt-get install indicator-cpufreq.
Wilf

2
Nach der Installation müssen Sie den Computer neu starten, bevor er angezeigt wird.
Talyric

Funktioniert nicht gut in neueren Ubuntus, wenn überhaupt.
Ken Sharp

7

Ich möchte darauf hinweisen, dass sudofür Ians Antwort oben Folgendes erforderlich ist:

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

Sie können jedoch dieselben Ergebnisse auch ohne sudo erzielen, wenn Sie Folgendes verwenden:

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

Mein Favorit ist Conky, wo Sie Ihr eigenes Bild malen können:

Conky.gif

Dieser befindet sich die ganze Zeit rechts von meinem eingebauten Display. Der relevante Code für den CPU-Bereich lautet:

${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
Wo ist Conky und was ist es?
not2qubit

@ not2qubit Ich werde diese Antwort später aktualisieren, aber in der Zwischenzeit lesen
WinEunuuchs2Unix

6

Ich möchte nur i7zzu dieser Liste hinzufügen . Im Gegensatz zu den anderen Optionen funktioniert dies bei CPUs der Serien i7, i5 und i3 mit TurboBoost besser.


Genau das, was ich brauchte. Außerdem werden Vcore-Spannungen, Turbo-Multiplikatoren, C0-Unterbrechungen usw. angezeigt. Sehr schön!
Andriy Makukha

Heads up, benötigt 30 MB Rubin und verschiedene Werkzeuge.
Gringo Suave

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

2

Wenn Sie ein eingebettetes ARM-Gerät verwenden (z. B. ein Raspberry- oder ARM-basiertes Telefon), können Sie keine Lösungen mit verwenden lscpu, dmidecodeoder /proc/cpuinfoweil die aktuelle Geschwindigkeit dort nicht aufgeführt ist, wenn das Tool überhaupt verfügbar ist. Stattdessen müssen Sie sysfs verwenden :

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

Hier ist eine einfache Möglichkeit, die CPU-Frequenzen für alle CPU-Threads abzurufen:

  1. Stellen Sie sicher, dass cpufrequtilsinstalliert ist.

  2. Führen Sie dann in einem Terminal den folgenden Befehl aus:

    cpufreq-info | grep "frequency is"
    

2

Dies funktioniert gut für Echtzeit-Prozessorgeschwindigkeiten

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

Während dies aktiv ist, können Sie dem Prozessor auch Spam senden, um festzustellen, mit welcher maximalen Echtzeitgeschwindigkeit er arbeiten kann openssl speed



1

Ich wollte dies als Kommentar teilen, habe aber nicht viele Reputationen auf askubuntu. Leute, die indicator-cpufreq verwenden möchten, müssen den Computer nicht neu starten. Das Zurücksetzen der aktuellen X-Sitzung reicht aus, um das Symbol anzuzeigen.

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

Sie können die Option Leistung und Energiesparmodus überprüfen, indem Sie die aktuelle Frequenz bis anzeigen

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

Sobald Sie auf eine niedrigere Frequenz / Powersave klicken, setzt die Energieverwaltung der CPU ein und der Takt wird kürzer.


Der Benutzer, der sich
ausloggt und wieder einloggt

1

Das ist mein Lieblings:

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

Obwohl Sie Turbo Boost (oder Turbo Core, wenn AMD) haben, werden Sie wahrscheinlich bevorzugen:

sudo watch -n 1 -d cpupower monitor

welches cpupoweraus der linux-tools gruppe verwendet.


0

Beispielausgabe von 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:

Hier cpu MHzbedeutet aktuelle CPU-Frequenz. Sie können cpufreq-infoleicht laufen, um zu verstehen.


überflüssig und lang!
Rishav Ambasta

0

Geben Sie in einem Linux-Terminal den folgenden Befehl ein, um den Namen des CPU-Kerns und dessen aktuelle Geschwindigkeit abzurufen:

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


0

sudo powertop Drücken Sie dann zweimal die Tabulatortaste, um zur Registerkarte "Frequenzstatistik" zu gelangen.

Es zeigt die tatsächliche Frequenz (auf meinem Laptop genau im Gegensatz zu dmidecode) sowie Statistiken darüber an, wie viel Zeit für die einzelnen verfügbaren Frequenzen aufgewendet wurde.


Hat es eine bestimmte Linie für die aktuelle Frequenz? Sieht so aus, als würde nur der Prozentsatz der Zeit angezeigt, in der jede Frequenz + der Ruhezustand "aktiv" ist.
Xen2050

@ Xen2050 Die CPU-Frequenz kann sich innerhalb von Millisekunden hin und her ändern, daher bin ich mehr an Statistiken interessiert. Sie können powertop -t 1für eine geringe Verzögerung ausführen , sodass die Statistiken jede Sekunde aktualisiert werden.
Rolf

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.