Linux環境では、不要な場合にハードディスクを完全にスリープ状態にしたり、より経済的な静止モードで動作さることができます。最近のラップトップの場合、ハードディスクを手動でオフに切り替える必要はありません。不要な場合は自動的に経済的な動作モードになります。ただし、省電力レベルを最大限にする場合は、次の方法をいくつかテストしてください。
hdparmアプリケーションを使用して、各種のハードディスク設定を変更できます。-yオプションは、簡単にハードディスクをスタンバイモードに切り替えます。-Yを指定すると、スリープ状態になります。hdparm -S xを使用すると、一定時間アクティビティがなければハードディスクが回転を停止します。xは、次のように置換します:0を指定するとこの機構が無効になり、ハードディスクは常時稼働します。 }1から240までの値を指定すると、指定した値x 5秒が設定値になります。241から251は、30分の1倍から11倍(30分から5.5時間)に相当します。
ハードディスクの内部省電力オプションは、オプション-Bで制御できます。0 (最大限の省電力)~255 (最大限のスループット)の値を選択します。結果は使用するハードディスクに応じて異なり、査定するのは困難です。ハードディスクを静止状態に近づけるにはオプション-Mを使用します。128 (静止)~254 (高速)の値を選択します。
ハードディスクをスリープにするのは、多くの場合簡単ではありません。Linuxでは、多数のプロセスがハードディスクに書き込むので、ウェイクアップが常に繰り返されています。したがって、ハードディスクに書き込むデータを、Linuxがどのように処理するかを理解することは重要です。はじめに、すべてのデータがRAMにバッファされます。このバッファは、pdflushデーモンによって監視されます。データが一定の寿命に達するか、バッファがある程度一杯になると、バッファの内容がハードディスクにフラッシュされます。バッファサイズはダイナミックであり、メモリサイズとシステム負荷に対応して変化します。デフォルトでは、データの完全性を最大まで高めるように、pdflushの間隔が短く設定されています。pdflushデーモンはバッファを5秒おきにチェックし、データをハードディスクに書き込みます。次の変数が使用できます。
pdflushスレッドが起動するまでの100分の1秒の遅延を含みます。
ダーティページが次に最新の変更を書き込まれるまでの時間枠を定義します。デフォルト値は3000(つまり30秒)です。
pdflushが書き込みを始めるまでのダーティページの最大割合。デフォルトは5%です。
メモリ全体の中でダーティページの割合がこの値を超えると、プロセスは書き込みを続けずに、短時間でダーティバッファを書き込むように強制されます。
警告: データの完全性に関する障害
pdflushデーモンの設定を変更すると、データの完全性が損なわれる可能性があります。
これらのプロセスとは別に、ReiserFSやExt3などのジャーナリングファイルシステムは、それらが持つメタデータをpdflushとは無関係に書き込むので、ハードディスクが回転を停止しなくなります。モバイル機器では、これを避けるために特別なカーネル拡張が開発されています。詳細については、/usr/src/linux/Documentation/laptop-mode.txtを参照してください。
もう1つの重要な要因は、アクティブプログラムが動作する方法です。たとえば、優れたエディタは、変更中のファイルを定期的にハードディスクに自動バックアップし、これによってディスクがウェイクアップされます。データの完全性を犠牲にすれば、このような機能を無効にできます。
この接続では、メールデーモンpostfixが変数POSTFIX_LAPTOPを使用します。この変数をyesに設定すると、postfixがハードディスクにアクセスする頻度は大幅に減少します。
SUSE Linux Enterprise Serverでは、これらのテクノロジはlaptop-mode-toolsで制御されます。