3.13. ユーザースペースの最適化

システムハードウェアで実行される作業量を低減することは、節電における基本となります。3章中核となるインフラストラクチャとメカニズム で説明された変更により、消費電力が低い様々な状態でシステムが動作するようにします。しかし、システムハードウェアから不要な作業を要求するユーザースペースのアプリケーションにより、ハードウェアがこうした状態に入らないようにします。Red Hat Enterprise Linux 6 の開発段階では、ハードウェア上の不要な要求を少なくするために以下の領域で監査を実行しました。
ウェイクアップの低減

Red Hat Enterprise Linux 6 は、ティックレスカーネル (「Tickless Kernel」 を参照) を使用します。これにより、CPU はより長くより深くアイドル状態にいることができます。しかし、タイマーティック だけが CPU が過剰にウェイクアップする原因ではありません。アプリケーションからの関数呼び出しによっても、CPU がアイドル状態に入らない、またはその状態が続かないようにできます。50 以上のアプリケーションで不要な関数呼び出しの回数が減りました。

ストレージとネットワークの IO の削減

ストレージデバイスとネットワークインターフェースへの出入力 (IO) は、デバイスに電力を消費するよう強制します。アイドル時に節電状態になる機能 (例えば、ALPM や ASPM) を持つストレージとネットワークのデバイスでは、IO のトラフィックにより、デバイスがアイドル状態に入らない、またはその状態が続かないようにし、またハードドライブが使用されてない時に回転が停止しないようにできます。ストレージへの過度で不必要な要求は、数種のアプリケーションで最低限に抑制されています。ハードドライブの回転が停止しないようにする要求が特にそうです。

Initscript の監査

必要性に関係なく、自動的に開始するサービスではシステムリソースを無駄にする可能性が高くなります。そうではなく、サービスじゃ可能な限りデフォルトで 「オフ」または「オンデマンド」にすべきです。例えば、Bluetooth サポートを有効にする BlueZ サービスは、以前は Bluetooth ハードウェアの有無に関係なくシステムの起動時に自動的に稼働していました。今では BlueZ initscript は、サービスを開始する前にシステム上に Bluetooth ハードウェアが存在することを確認します。