web-dev-qa-db-ja.com

LinuxでのIntel Turbo Boostの監視/制御

LinuxホストからNehalemプロセッサでIntel Turbo Boostテクノロジーを監視および/または制御するための良い方法はありますか?ストックまたはリアルタイムMRGカーネルを実行しているこのRHEL/CentOS 5.5ホストを実行したいと考えています。

ここで誰かがあなたの環境でターボブーストを活用する良い方法を見つけましたか?

25
ewwhite

i7z は、Linux上でそれをサポートするIntel CPU(i7以降)のIntel Turbo Boostを監視するための優れたツールです。

i7z screenshot of Turbo Boost at work

それが機能している場合、CPUに負荷を追加すると、現在の周波数の変化が表示されます。これは、負荷の下で乗数が動的に増加するためです。 BurnP6 を試してみてください。

基本的な説明 (pdf)電源状態:

C0-アクティブ状態。 C0の間、命令はコアによって実行されています。インテル®ターボブーストテクノロジーの場合、C0のコアはアクティブコアと見なされます。

C1-停止状態。 C1では、命令は実行されていません。インテル®ターボブーストテクノロジーの場合、C1のコアはアクティブコアと見なされます。

C3-C3の間、コアPLLはオフになり、すべてのコアキャッシュがフラッシュされます。インテル®ターボブーストテクノロジーの場合、C3のコアは非アクティブなコアと見なされます。

C6-C6では、コアPLLがオフになり、コアキャッシュがフラッシュされ、コアの状態がラストレベルキャッシュに保存されます。パワーゲートは、消費電力をゼロに近づけるために使用されます。 Intel®Turbo Boostテクノロジの場合、C6のコアは非アクティブなコアと見なされます。

C7-Sandy Bridge以降で導入された、わずかに深い新しいスリープ状態。

C6とC7の状態は「ディープ」スリープモードであり、特定のタイプのサーバーワークロードには適さないかもしれない待ち時間のペナルティがいくつかある可能性があることに注意してください。詳細については、 組み込みアプリ向けインテルの電源管理 (pdf)を参照してください。

Turbo BoostはP0状態であり、スリープの反対です。少数のコアのみがアクティブな場合、CPUマルチプライヤをスケールアップしますが、極端なマルチコア負荷の下でランプダウンして、CPUの熱問題を防ぎます。

一般にACPIサポートmust Linux for i7zで有効にして、正しい温度とターボブースト(デフォルトを超える動的乗数)が機能することを示します。 LinuxでIntel Turbo Boostを有効にする方法に関する有用な情報は this の投稿にあります。

21
aleroot