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にインストールしているアプリケーションの構成で,挙動が変わるようです。

よくありがちです。