web-dev-qa-db-ja.com

ファイル/ proc / cpuinfoはハードウェアについて何を教えてくれますか?

「2コア×2,2GHz」のサーバーを借りています。コマンドを実行すると、cat /proc/cpuinfo次の結果が得られます。

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

そこには2 * 1000MHzと書かれています。プロバイダーに電話したところ、2.2 GHzは表示されていないとのことでしたが、インストールされています。どうしてそれができるのでしょうか?

4
Sven

Banditoが書いたように、/proc/cpuinfoの情報はリアルタイムであり、currentCPU周波数を表示するように更新されます。最新のシステムのほとんどは、現在のニーズに応じてCPU周波数をスケーリングします。 Linuxシステムでは、これは「CPUガバナー」によって制御されます。これが「オンデマンド」に設定されている場合、CPU周波数は、サーバーの現在の負荷に応じてスケールアップ/スケールダウンされます。

次のコマンドで、どのガバナーが設定されているかを確認できます。

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

使用可能なオプションは次のとおりです。

  • パフォーマンス
  • パワーセーブ
  • ユーザースペース
  • オンデマンド
  • 保守的

あなたはそれらのそれぞれについてのより多くの情報を見つけることができます ここ

CPUで使用可能な実際の最大周波数を確認するには、インストールされている場合はcpufreq-infoプログラムを使用できます。

cpufreq-info | grep "available frequency steps"

私のシステムでは、これは次のことを示しています。

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

次のようなハードウェアによって設定された周波数制限も確認できます。

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

または、CPUを集中的に使用するプロセスを開始し、/proc/cpuinfoを再度確認することもできます。すべて問題がなければ、頻度は異なるはずです。

4
terdon

システムは、負荷に応じてCPU速度をスケーリングするように設定できます。 CPUが頻繁に使用されている場合は、最大速度まで上げる必要があります。

1
bandito