第3章 コアインフラストラクチャーとメカニズム
重要
この章で説明する cpupower コマンドを使用するには、kernel-tools パッケージがインストールされていることを確認してください。
3.1. CPU アイドル状態
x86 アーキテクチャーの CPU は、CPU の一部が非アクティブになったり、パフォーマンス設定を下げて実行されたりするさまざまな状態をサポートします。C 状態 と呼ばれるこれらの状態により、システムは使用されていない CPU を部分的に非アクティブ化することで電力を節約できます。C-state には C0 から順に番号が付けられ、番号が大きいほど CPU 機能が低下し、省電力が大きくなります。指定された数の C-State はプロセッサー間でほぼ同じですが、状態の特定の機能セットの詳細はプロセッサーファミリーごとに異なります。C-States 0-3 は、以下のように定義されます。
- C0
- 動作中または実行中の状態。この状態では、CPU は動作しており、アイドル状態ではありません。
- C1, Halt
- プロセッサーが命令を実行していないが、通常は低電力状態ではない状態。CPU は事実上遅延なしで処理を継続できます。C-State を提供するすべてのプロセッサーが、この状態に対応する必要があります。Pentium 4 プロセッサーは、C1E と呼ばれる拡張された C1 状態に対応しています。これは、低消費電力を実現する状態です。
- C2, Stop-Clock
- このプロセッサーのクロックが凍結されている状態ですが、レジスターとキャッシュの完全な状態を維持しているため、クロックを再開した後、すぐに処理を再開できます。この状態はオプションになります。
- C3, Sleep
- プロセッサーが実際にスリープ状態になり、キャッシュを最新の状態に保つ必要がない状態。このため、この状態からの起動は C2 からの起動よりかなり時間がかかります。繰り返しますが、これはオプションの状態です。
CPUidle ドライバーの使用可能なアイドル状態とその他の統計を表示するには、次のように入力します。
~]$ cpupower idle-info
Nehalem マイクロアーキテクチャーを備えた最近の Intel CPU は、CPU の電圧供給をゼロに下げることができる新しい C-State C6 が特徴ですが、通常は消費電力を 80% から 90% 削減します。Red Hat Enterprise Linux 7 のカーネルには、この新しい C-State の最適化が含まれます。