30分または60分後に自動的にスタンバイになるハードドライブがあります。
私が試しました(テストには3分):
# hdparm -S 36 /dev/sda
/dev/sda:
setting standby to 36 (3 minutes)
また、5分以上アクセスがない場合でも機能しませんでした。データにアクセスするプロセスを考えたので、テストしました
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
ドライブはスタンバイ状態になり、スリープ状態を維持しました。
# hdparm -C /dev/sda;date
/dev/sda:
drive state is: standby
マウントポイントのファイルに触れると、予想通りに目が覚めました。
自動中断が機能しないのはなぜですか?私が理解している限り、アクセスがない限り、OSから独立したハードドライブをオフにする必要さえあります。
実際の問題はsmartd
で、デバイスがスタンバイモードの場合でも定期的に値をチェックしていました。
一部のドライブは、コマンドが通過しても、この機能を実装していないことに注意してください。 hdparm -B 127 /dev/sda
を使用して、高度な電源管理レベルを127以下に下げる必要がある場合もあります。 manページから:
-B Advanced Power Management機能の取得/設定...値1〜127(スピンダウンを許可)、および値128〜254(スピンダウンを許可しない)。
すべてが失敗した場合は、/proc/diskstats
または/sys/block/sda/stat
をポーリングしてデバイスの読み取り/書き込みの数を調べ、ドライブが数分間変化しない場合は明示的にドライブをスタンバイ状態にする小さなスクリプトを書くことができます。 hd-idle ユーティリティを参照してください。