web-dev-qa-db-ja.com

cpufreq-infoは/ proc / cpuinfoとは異なりますか?

サーバーがあり、省エネモードではなく、常に最高速度で実行されていることを確認したいと思います。いくつかの戦略を試しましたが(BIOSの再起動と設定の変更は別として、数百台のサーバーで行う必要があります)、cpufreq-infoから奇妙な結果が得られます。例えば。:

 root @ Host:〜#cpufreq-info -c 0 
 cpufrequtils 007:cpufreq-info(C)Dominik Brodowski 2004-2009 
エラーとバグをcpufreq @ vgerに報告してください。 kernel.org、お願いします。
 CPU 0の分析:
ドライバー:acpi-cpufreq 
同じハードウェア周波数で実行されるCPU:0 
必要なCPUソフトウェアによって調整された周波数:0 
最大遷移待ち時間:10.0 us。
ハードウェア制限:1.20 GHz-2.20 GHz 
使用可能な周波数ステップ:2.20 GHz、2.20 GHz、2.10 GHz、 2.00 GHz、1.90 GHz、1.80 GHz、1.70 GHz、1.60 GHz、1.50 GHz、1.40 GHz、1.30 GHz、1.20 GHz 
使用可能なcpufreqガバナー:保守的、オンデマンド、ユーザースペース、省電力、パフォーマンス
現在ポリシー:周波数は2.00GHzおよび2.20GHz以内である必要があります。
ガバナーの「パフォーマンス」により、この範囲内で使用する速度を決定できます
。
現在のCPU周波数は1.20 GHzです(アサート)ハードウェアへの呼び出しによる)。
 cpufreq s tats:2.20 GHz:6.50%、2.20 GHz:0.24%、2.10 GHz:0.34%、2.00 GHz:0.05%、1.90 GHz:0.04%、1.80 GHz:0.03%、1.70 GHz:0.03%、1.60 GHz:0.03%、 1.50 GHz:0.03%、1.40 GHz:0.03%、1.30 GHz:0.03%、1.20 GHz:92.66%(8080636)

最小速度は「2.00GHz」を示し、ガバナは「パフォーマンス」に設定されていますが、現在のCPU周波数は1.20 GHzであることに注意してください。ただし、/ proc/cpuinfoを調べると、そこにある値は一貫して約2.2GHzです。

 root @ Host:〜#egrep'MHz | Xeon '/ proc/cpuinfo; cpufreq-info -c 0 
モデル名:Intel(R)Xeon(R)CPU E5-2660 0 @ 2.20GHz 
 cpu MHz:2200.000 
モデル名:Intel(R )Xeon(R)CPU E5-2660 0 @ 2.20GHz 
 cpu MHz:2201.000 

これらのどれが正しいですか?私はどちらを信じますか? BIOSの変更以外に、最大のパフォーマンスモードを保証する方法はありますか?価値があるのは、これはこのカーネルを備えたUbuntu12.04です。

Linux Host 3.2.0-76-generic #111-Ubuntu SMP Tue Jan 13 22:16:09 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
6
Evan

BIOSがCPUを1.20GHzに制限しているとほぼ確信しています。カーネルには2つの値があります。

  1. cpufreqドライバーが要求したと考える頻度であるscaling_cur_freq。/proc/cpuinfoにはこの値が含まれています。 cpufreq_quick_get()関数を呼び出します。

  2. cpuinfo_cur_freqは、実際にCPUにプログラムされている周波数です。 cpufreq-infoは、「ハードウェアの呼び出しによってアサートされた」で示されるように、この値を使用しています。 (最終的には__cpufreq_get()を呼び出します。)cpuinfo_cur_freqが使用できない場合は、scaling_cur_freqにフォールバックします。

大量のBIOSアップデートに関するMattのコメントについて+1。例:HP Proliant DLクラスサーバーを使用すると、電力調整をオンラインで変更できます。ハードウェアにも同様の機能がある可能性があります。

6
Mark Wagner

BIOSの変更は、ピークパフォーマンスを保証するための最良の方法ですが、ハードウェア制御の周波数スケーリングは避けられません(熱スロットリング)。

これは、Intelからの CPU周波数の設定 に関する投稿です。ある程度、CPU周波数はユーザーおよびOSレベルで制御できます。ここにいくつかの追加情報があります 周波数スケーリングに関するArch Linuxから あなたが価値があると思うかもしれません。

BIOS側では、サーバーグループの一括BIOS更新は、専用のインテリジェントプラットフォーム管理インターフェイス(IPMI)NICまたはスクリプト可能なKVMなどの独立した管理インターフェイスを使用して実行できる可能性があります。システム。

5
Matt