Was sagt mir die Datei / proc / cpuinfo über die Hardware?


4

Ich miete einen Server, der "2 Cores x 2,2 GHz" haben soll. Führen Sie den Befehl aus cat /proc/cpuinfo Ich erhalte folgendes Ergebnis:

processor   : 0
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 67
model name  : Dual-Core AMD Opteron(tm) Processor 1218 HE
stepping    : 3
cpu MHz     : 1000.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips    : 2009.48
clflush size    : 64
power management: ts fid vid ttp tm stc

processor   : 1
vendor_id   : AuthenticAMD
cpu family  : 15
model       : 67
model name  : Dual-Core AMD Opteron(tm) Processor 1218 HE
stepping    : 3
cpu MHz     : 1000.000
cache size  : 1024 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 1
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips    : 2009.48
clflush size    : 64
power management: ts fid vid ttp tm stc

Dort steht 2 * 1000 MHz. Ich habe meinen Provider angerufen und sie sagten, dass die 2,2 GHz nicht angezeigt werden, aber sie sind installiert. Wie kann das sein?

Antworten:


4

Wie Bandito schrieb, die Informationen in /proc/cpuinfo ist in Echtzeit und wird aktualisiert, um die aktuell CPU-Frequenz. Die meisten modernen Systeme skalieren die CPU-Frequenz entsprechend dem aktuellen Bedarf. Auf Linux-Systemen wird dies vom "CPU Governor" gesteuert. Wenn dies auf "ondemand" eingestellt ist, wird die CPU-Frequenz in Reaktion auf die aktuelle Auslastung des Servers erhöht / verringert.

Mit diesem Befehl können Sie überprüfen, welcher Governor eingestellt ist:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

Mögliche Optionen sind:

  • Performance
  • Energiespar
  • Benutzerraum
  • Auf Nachfrage
  • Konservativ

Sie können weitere Informationen zu jedem von ihnen finden Hier .

Um die tatsächlich für Ihre CPU verfügbare maximale Frequenz zu überprüfen, können Sie die verwenden cpufreq-info Programm falls installiert:

cpufreq-info | grep "available frequency steps"

Auf meinem System zeigt dies:

available frequency steps: 2.67 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz, 1.47 GHz, 1.33 GHz, 1.20 GHz

Sie können das von der Hardware festgelegte Frequenzlimit auch folgendermaßen anzeigen:

cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 

Alternativ können Sie einen CPU-intensiven Prozess starten und überprüfen /proc/cpuinfo wieder, wenn alles in Ordnung ist, sollte die Frequenz jetzt anders sein.


Haben Sie ein Beispiel für einen einfach zu startenden CPU-intensiven Prozess? (z. B. eine mathematische Operation in dem Terminal, die eine Weile ausgeführt wird)
Sven

@Sven gibt es ein Programm namens stress das soll genau das tun. Es sollte sich in den Repositorys Ihrer Distribution befinden.
terdon

1

Das System ist möglicherweise so konfiguriert, dass die CPU-Geschwindigkeit abhängig von der Last skaliert wird. Wenn die CPU stark ausgelastet ist, sollte sie auf die maximale Geschwindigkeit ansteigen.

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.