2012-11-21 Windows 7のデフラグが原因でPCがスリープ解除とスリープを繰り返すようになる
Windows 7では,デフラグ(HDDの最適化ツール)がタスク登録されています。タスクは,定期的に実行されます。自動的にHDDが最適化されるようになっています。
ある日,タスクの実行履歴を眺めていたら,デフラグが全然,実行されていないことに気づました。設定値を見てみると, PCがスリープしていると,タスクは実行されないらしい。
そこで,デフラグが起動する曜日・時刻になったら,スリープを解除するように,タスクのプロパティを修正しました。ところが,この設定では,なぜか,デフラグは実行されず,デフラグが起動する曜日・時刻になると,PCがスリープ解除とスリープを繰り返す症状が発生するようになってしまいました。
対策
「タスク」の「条件」タブを開き,「次の間アイドル状態の場合のみタスクを開始する(C)」をOFFにしたら,良化しました。
スリープ解除とスリープを繰り返す症状が改善しました。
環境
Windows 7 Professional Service Pack 1 (x64)
分析
Windowsのイベントログと,タスクの実行履歴を読んでみました。何が起きているのでしょうか。
- (1)デフラグを実行するためにスリープが解除される。
- (2)デフラグが実行されるかと思いきや,実行されない。デフラグの実行は延期されている。
- (3)5分くらいすると,PCがスリープする。
- (4)スリープしてから10秒ほどすると(1)が発生する
以下は,仮説です。
(1)でスリープが解除されたあと,デフラグよりも前に,別のタスクが実行されてしまうか,あるいは,デフラグと同時に,別のタスクも実行されてしまう。デフラグは,実行する機会を奪われてしまうか,あるいは,途中で処理を止めてしまうんだと思います。
未消化のタスクが原因で,PCは,スリープとスリープ解除を繰り返すようになるのでしょう。
この現象は,環境依存のようです。
別のWindows 7(x86)のPCでは,初期設定のままでもタスク登録したデフラグは,何の問題もなく実行されていました。PCにインストールしているアプリケーションの構成で,挙動が変わるようです。
よくありがちです。