1.2. 電力管理の基礎

効率的な電力管理は以下の原則の上に成り立っています。
アイドル状態の CPU は必要な時にウェイクアップする

Red Hat Enterprise Linux 5 のカーネルは、各 CPU に対して定期的なタイマーを使用していました。このタイマーにより、CPU がアイドル状態になるのを防いでいます。プロセスが実行中であるかどうかに関係なく、CPU は毎回のタイマーイベント (設定により数ミリ秒毎に発生) を処理する必要があります。効率的な電力管理を行うための主なポイントは、CPU がウェイクアップする頻度を少なくすることです。

このため、Red Hat Enterprise Linux 6 の Linux カーネルには、定期的なタイマーがありません。その結果、CPU の アイドル状態は ティックレス (tickless) になります。これにより、CPU がアイドル状態の時には不要な電力を消費させないようにします。ただし、システムに不要なタイマーイベントを作成するアプリケーションがあると、この機能がもたらす利点が相殺されてしまう恐れがあります。こうした不要なタイマーイベントの例としてはポーリングイベントなどがあります (ボリューム変更の確認、マウス動作の確認など)。
Red Hat Enterprise Linux 6 には、CPU の使用量でアプリケーションを識別し、監査を行なうことができるツールが同梱されています。詳細は、2章電力管理の監査と分析 を参照してください。
使用していないハードウェアとデバイスは完全に無効にする

これは、可動パーツを持つデバイス (例えば、ハードディスク) に特に当てはまります。さらに、一部のアプリケーションは、使用していないが有効なデバイスを「オープン」状態にすることがあります。これが起こると、カーネルはデバイスが使用中だと想定し、デバイスが節電状態に入ることを阻止する可能性があります。

動作が少ないということは消費電力も少ない

ただし多くの場合、これは最新のハードウェアと正しい BIOS 設定によって異なります。現在 Red Hat Enterprise Linux 6 では対応できるようになった新しい機能の一部は、旧式のシステムコンポーネントでは対応していないことが多々あります。システムに最新の公式のファームウェアが使用されていること、また BIOS の電力管理またはデバイス設定のセクションで電力管理の機能が有効になっていること、を確認してください。確認する機能は以下のとおりです。

  • SpeedStep
  • PowerNow!
  • Cool'n'Quiet
  • ACPI (C 状態)
  • Smart
上記の機能がハードウェアでサポートされ、BIOS で有効になっている場合、Red Hat Enterprise Linux 6 ではその機能がデフォルトで使用されます。
CPU の各種状態とその効果

ACPI (電力制御インタフェース:Advanced Configuration and Power Interface) を搭載する最新の CPU は、以下の 3 種類の電力状態を提供します。

  • Sleep (C 状態)
  • Frequency (P 状態)
  • Heat output (T 状態、または「温度状態」)
最小限のスリープ (sleep) 状態で稼働している CPU は、最小限のワット数を消費しますが、必要なときにこの状態から復帰するには相当な時間がかかります。非常に稀なケースですが、CPU がスリープに入る度に直ちに復帰する必要がある場合もあります。この場合、事実上 CPU が常にビジーな状況を引き起こし、別の状態を使用していたら実現できた節電効果が得られなくなってしまうことになります。
電源がオフになっているマシンの消費電力は最小となる

当たり前かもしれませんが、実際に節電を行う最善策の1つは、システムの電源を切ることです。例えば、「グリーン IT」の意識に焦点を置いた企業文化を育み、昼休みや帰宅時にはマシンの電源を切るガイドラインを設けるのも一案です。また、数台の物理サーバーを大きなサーバー 1 台に統合し、Red Hat Enterprise Linux 6 で配布されている仮想化技術を使用して仮想化することもできます。