Red Hat Training

A Red Hat training course is available for RHEL 8

17.2. CPU アイドル状態

x86 アーキテクチャーを備えた CPU は、CPU の一部が非アクティブ化されている、または C-state と呼ばれるパフォーマンスの低い設定を使用しているなど、さまざまな状態をサポートしています。

この状態では、使用されていない CPU を部分的に非アクティブにすることで、電力を節約できます。ガバナーを必要とし、望ましくない電源やパフォーマンスの問題を回避するように設定される P-state とは異なり、C -state を設定する必要はありません。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
CPUidle governor: menu
analyzing CPU 0:

Number of idle states: 9
Available idle states: POLL C1 C1E C3 C6 C7s C8 C9 C10
[...]

"Nehalem" マイクロアーキテクチャーを持つ Intel CPU は、C6 状態を特徴とします。これにより、CPU の電圧供給をゼロに減らすことができますが、通常は、消費電力を 80% から 90% まで減らします。Red Hat Enterprise Linux 8 のカーネルには、この新しい C-state の最適化が含まれます。

関連情報

  • man ページの cpupower(1) および cpupower-idle(1)