it-swarm.com.de

Wie können Sie Ihre CPU-Geschwindigkeit unter Linux richtig anzeigen?

Ich habe zwei Befehle gefunden, um Informationen über meine CPU auszugeben: cat /proc/cpuinfo und lscpu. /proc/cpuinfo zeigt, dass meine CPU-Geschwindigkeit 2,1 GHz beträgt, während lspcu 3167 MHz angibt. Welches ist richtig?

Dies ist meine genaue Ausgabe von cat /proc/cpuinfo über meine Prozessorgeschwindigkeit:

model name  : Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz

Und das ist von lscpu:

CPU MHz:               3225.234

(Aus irgendeinem Grund gibt lscpu jedes Mal anders aus und variiert zwischen 3100 und 3300 MHz.)

22
Rohan

Um die aktuelle Geschwindigkeit jedes Kerns zu sehen, mache ich Folgendes:

watch -n.1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

Hinweis :

Wenn Ihr Befehl watch nicht mit Intervallen von weniger als einer Sekunde funktioniert, ändern Sie das Intervall wie folgt:

watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

Dies zeigt die cpu speed Jedes Kerns in Echtzeit an.

Wenn Sie den folgenden Befehl ein- oder mehrmals von einem anderen Terminal aus ausführen, können Sie die Geschwindigkeitsänderung mit dem obigen Befehl watch sehen, vorausgesetzt, SpeedStep ist aktiviert (Cool'n'Quiet Für AMD).

echo "scale=10000; 4*a(1)" | bc -l &

(Dieser Befehl verwendet bc, um pi auf 10000 Stellen zu berechnen.)

40
Timothy Martin

Für Intel i3-, i5- und i7-basierte CPUs gibt es ein spezielles Tool namens i7z zeigt die aktuelle Geschwindigkeit für alle CPU-Kerne an.

Aus der Manpage (Beschreibung):

i7z führt das auf ncurses basierende i7z-Programm ohne Optionen aus. i7z druckt die C-Zustände und die Temperatur für i3-, i5- und i7-basierte Core-Prozessoren von Intel (einschließlich Nehalems, Sandy Bridge und Ivy Bridge) aus.

Für Ubuntu-basierte Distributionen können Sie es installieren, indem Sie den folgenden Befehl eingeben:

Sudo apt-get install i7z

führen Sie es dann einfach aus (das Tool muss mit Sudo ausgeführt werden):

Sudo i7z
8

Die CPU-Frequenzen bleiben im Kernel erhalten, können jedoch etwas "aus" sein. Sie können sie sehen mit:

$ 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

Wenn Sie die CPU-Nr. Nicht kennen müssen, verwenden Sie einfach eine kürzere Methode:

$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
1396354
800058
800050
800024
800005
800017
800001
1392006
4

Der Intel Core i7-4600U Prozessor unterstützt Turbo Boost Technologie . Es hat eine Grundfrequenz von 2,10 GHz und eine maximale Turbofrequenz von 3,30 GHz. Das bedeutet, dass,

  • Wenn Sie den Turbo Boost deaktivieren (im BIOS-Setup-Menü), arbeitet die CPU die ganze Zeit mit 2,10 GHz.
  • Wenn Turbo Boost aktiviert ist und nur einer der Kerne funktioniert, arbeitet die CPU mit maximal 3,30 GHz.
  • Wenn Turbo Boost aktiviert ist und alle Kerne funktionieren, arbeitet die CPU mit 2,10 GHz.

Erhalten der aktuellen Frequenz

Um festzustellen, ob der Turbo Boost aktiviert ist und welche Frequenz aktuell ist, können Sie cpupower frequency-info Verwenden. Für einen alten Intel Core i5-660 mit aktiviertem Turbo Boost erhalten Sie beispielsweise Folgendes.

$ 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

Beachten Sie, dass in den Informationen die Hardwaregrenzen (1.20 GHz - 3.47 GHz), Die möglichen Frequenzen (3.47 GHz, 3.33 GHz, 2.53 GHz, 1.87 GHz, 1.20 GHz) Und die aktuelle Frequenz (1.87 GHz) Angegeben sind. Die technischen Informationen zu diesen Frequenzen finden Sie unter Intel-Website .

Häufigkeit, wenn TurboBoost deaktiviert ist

Beachten Sie den Unterschied, wenn Sie denselben Befehl mit deaktiviertem Turbo Boost ausführen: Im Abschnitt boost state support Sind die Werte für Supported und Activeno. Hier befindet sich die CPU ständig auf dem Nenn-/Minimalwert (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

Sie können den Turbo Boost über das BIOS oder einige Linux-Optionen/-Befehle deaktivieren. Das Kernel-Unterstützung kann mit der Datei /sys/devices/system/cpu/cpufreq/boost Aktiviert/deaktiviert werden.

4
Jaime

Geben Sie den folgenden Befehl ein, um Informationen zu Ihrer CPU zu erhalten:

dmidecode -t 4
3
GAD3R

Hängt davon ab, wofür Sie die Informationen verwenden. Die Ausgabezeile von cat/proc/cpuinfo` ist die "angekündigte" Geschwindigkeit, die Geschwindigkeit in der Broschüre usw. Wenn Sie Server A mit Server B vergleichen, kann dies ausreichend sein. Wenn Sie Workloads auf dem System überwachen, sollten Sie sich die Kommentare zu Ihrer Frage und die Antwort von @ gad3r ansehen.

0
Mark Stewart