Windows8.1で深夜勝手にスリープが解除される問題の解決方法

  • このエントリーをはてなブックマークに追加

Windows8.1にして随分経ちました。セキュリティが固いOSですが、快適に使えています。

さて、Windows8.1にしてから当環境で発生していたにも関わらず放置していた問題がありあます。
それは「スリープ状態にしても深夜勝手にスリープが解除される」という問題です。

正確には「深夜3時~5時辺り」という時間にスリープ状態のパソコンが勝手に立ち上がっているみたいなのです。私は全く気づかず寝たままなのですが、朝起きるとパソコンが起動しっぱなしというのは電気代も勿体ないので解決策を探してきました。

内容は「Regular Maintenance」と「自動メンテナンス」という機能をどうにかするというものです。


症状

この問題はWindows8以降に起こる問題のようで、私はWindows8.1へアップデートした後に発生しました。

寝る前にはちゃんとスリープ状態にしたはずなのに、朝起きると隣に置いてあるメインのデスクトップパソコンが起動しているのです。すぐ仕事があるのでその時は電源ボタンを押してもう一度スリープ状態にさせいるのですが、電気代も勿体ないので何とかしたい問題です。

ただ、それ以外の害はなかったので先に「Windows8.1で外付けHDDがスリープする問題」の方を片付けていました。余裕がでてきたのでこちらにも着手した次第です。

原因を発見する方法

さて、こういったOSの起動などに関する問題には「イベント ビューアー」で「Windows ログ」を見るのが定石です。
「Windows ログ」の見方は下記の通りです。

  1. Windows8以降ならば、左下までマウスカーソルをもってきた後「右クリック」してメニューを出し、「イベント ビューアー」を選んでください。

    イベントビューアー Win8

    この問題はWindows8以降特有の問題らしいですが、一応Windows7の場合も解説。
    Windows7以前であれば、コントロールパネルの「管理ツール」から「イベント ビューアー」を選んでください。(Windows8以降でも同様の操作でイベントビューアーを開けます)

    イベントビューアー イベントビューアー Win7前

  2. イベントビューアーが開いたら「Windows ログ」→「システム」と開きます。
    ここで問題の情報を探します。

    Windowsログ

「Regular Maintenance」というタスクが問題みたい

ここで夜の0時~朝8時(寝ている時間)のログを調べてみます。
どこかにスリープを解除した原因のログがあるはず・・・

見つけました。どうやらこれのようです。「Regular Maintenance」というタスクがスリープを解除しているようです。


▲クリックで拡大

システムは低電力状態から再開しました。
    
スリープ時間: ‎2013‎-‎12‎-‎01T14:58:14.389218300Z
スリープ解除時間: ‎2013‎-‎12‎-‎01T20:59:15.962126700Z
    
スリープ状態の解除元: タイマー - Windows は、スリープ状態の解除を要求した
スケジュールされたタスク 
'NT TASK\Microsoft\Windows\TaskScheduler\Regular Maintenance' を実行します。
  SleepTime 2013-12-01T14:58:14.389218300Z 
  WakeTime 2013-12-01T20:59:15.962126700Z 
  SleepDuration 4835 
  WakeDuration 460 
  DriverInitDuration 316 
  BiosInitDuration 1179 
  HiberWriteDuration 7573 
  HiberReadDuration 0 
  HiberPagesWritten 349479 
  Attributes 24593 
  TargetState 4 
  EffectiveState 5 
  WakeSourceType 5 
  WakeSourceTextLength 106 
  WakeSourceText Windows は、スリープ状態の解除を要求したスケジュールされたタスク
   'NT TASK\Microsoft\Windows\TaskScheduler\Regular Maintenance' を実行します。 
  WakeTimerOwnerLength 52 
  WakeTimerContextLength 18 
  NoMultiStageResumeReason 0 
  WakeTimerOwner \Device\HarddiskVolume2\Windows\System32\svchost.exe 
  WakeTimerContext SystemEventsBroker 

「Regular Maintenance」とは? 「自動メンテナンス機能」について

Windows8 以降、OSの動作パフォーマンスを低下させないために「自動メンテナンス」という機能が追加されました。この「自動メンテナンス」を実行するためのタスクが「Regular Maintenance」のようです。

これに関しては以下の記事が参考になるので、一部引用いたします。

さて、Windows 8には、OSの動作パフォーマンスを低下させないために「自動メンテナンス」という機能が追加されました。これは、毎日指定時間(初期状態では午前3時)のアイドル時に実行され、Windows Updateや(Windows Defenderによる)セキュリティスキャン、システム診断などが実行されるというもの。

~中略~

加えて自動メンテナンスを自動実行させるには、コンピューター未使用時にスリープを選択しなければなりません。シャットダウンした場合は実行されないため、次回起動時のアイドル時に実行されることになります。

http://news.mynavi.jp/column/windows/242/

これがスリープ解除の原因で確定ですね。

スリープ中であってもスリープを解除するような設定があり、これが有効になっていると標準設定で3時にスリープを解除しメンテナンスを実行するようです。ただ、スリープが解除されてメンテナンスが終われば勝手にまたスリープに戻るよう?なのですが、メンテナンスに時間がかかることもあるようで朝まで起動しっぱなしという状況になっているみたいです。

このメンテナンスですが、主な内容は下記のようなものだそうです。

  • 更新プログラムのチェックとインストール
  • セキュリティ スキャン、ウイルス定義ファイルの更新
  • システムの診断

更新プログラムのチェックもしているようなプログラムなので、これ自体を無効化するのはちょっと問題ありそうです。なので、スリープが解除されないようにだけしてみましょう。

「自動メンテナンス機能」でスリープ解除しないように設定

「自動メンテナンス」は下記の方法で設定箇所まで行けます。

  1. 「コントロールパネル」を開き、「アクションセンター」を選択します。

    アクションセンター

  2. 「メンテナンス」セクションを展開し、「自動メンテナンス」にある<メンテナンス設定の変更>を選択肢ます。

    メンテナンス設定の変更
    ▲クリックで拡大

  3. 「スケジュールされたメンテナンスによるコンピューターのスリープ解除を許可する」のチェックを外します。また、私が起床して出勤するちょっと前に確認できるように念のため実行時間を「8:00」に設定しました。

    これで深夜勝手に起動するようなことはなくなるはずです。

    メンテナンス設定の変更
    ▲クリックで拡大

  4. 念のため、タスクスケジューラーの方でも確認してみました。

    スリープから解除されないように設定し直されているようです。

    タスクスケジューラー
    ▲クリックで拡大

まとめ

今のところ、これで深夜勝手に起動するようなことは無くなりました。

この「自動メンテナンス」ですが、アイドル時であれば定期的に実行しているようですので、スペックが低いパソコンだとこれにリソースを取られて動作が重くなるようなことがありようです。ですので、自動実行が嫌であればデメリットを理解して無効にするということもありです。

無効にする場合は「タスクスケジューラー」から「Regular Maintenance」を無効にすればOKです。ただ、定期的なメンテナンスが自動実行されなくなるので、今度は適期に手動で実行してみてください。

Track Back

Track Back URL

Comments [4]

>Regular Maintenance

全くこのタスクは邪魔ですね。僕も時折、仮想PCを起動したまま寝てしまう際には、ご指摘の時間になるとPCの動作音が激しくなる時があり、このタスクが原因とわかりましたので無効にしています。

Regular Maintenanceタスクの無効化方法ですが、以下のように「schtasks」コマンドを用いることでも可能です。

1、windows8.1のスタートボタンを右クリックし、コマンドプロンプト(管理者)をクリックします。

2、コマンドプロンプトの画面が起動しましたら、以下のコマンドを入力しenterを押します。

schtasks /Change /TN "\Microsoft\Windows\TaskScheduler\Regular Maintenance" /Disable

上記ですね。そうしますと簡単に無効化できるはずです。

ご教授ありがとうございます!

この記事のリンク「マイナビニュース」さんの後ろのほうで解説されている方法ですね。
Regular Maintenance自体は動いて欲しいので私はスリープを解除しないようにだけ設定しました。

私のパソコン、基本オーバースペックなので動くものは極力動かして、不具合がでたら無効にするようにしています。
スリープもWindowsが進化してきて格段に安定してきましたが、こういったことがあるとまだまだ改善の余地がありますね。

ご返信ありがとうございます!マイナビニュースのリンク貼ってありましたね、ごめんなさい。

僕の場合、基本的にスリープ機能は使いません。HDDのみを使用していたころは、休止状態をよく使用していたのですが、SSDの導入を機会に辞めました。(書き込み容量が増加するというケチな理由で…)

スリープ状態を全く使用したことがないというわけではないのですが、以前に使用していたPCでスリープにすると、すぐに勝手に起動する状態が続いたことがあって使わなくなりました。

でもあれからすでに何年も経っていますから、改善されているのでしょうね。

そういえばマイナビニュースさんに次期windowsのニュースが掲載されていました。次期OSではwindows8とは全く異なるコンセプトで開発されるとか…。

楽しみではありますね。(来年の4月にwindows8.1 update1というものもリリースされるようです)

私もSSD導入して数ヶ月は書き込み制限を気にしていましたね。
ただ、調べてみるとあまりウェアレベリングされてなかったので最近は気にせずキャッシュ等もSSD内へ置くようになりました。

ただ、やっぱちょっとは気になるのでスリープはハイブリッドスリープではなくて普通のスリープにしてあるますけどね(笑

私もWindows7の時にスリープに移行→数分後に勝手に起動という不具合にあったことがあります。これはどうやら無線マウスの無線子機(USBに刺す方)を取り外すと発生しなくなるので、面倒でしたが毎回これをやっていましたね。実際イベントビューアーから見てもUSBからスリープ解除の命令が来ていたようですし。色々対処してみたのですが、結局Windows8にしたら直ったのでマウスとOSの相性だと勝手に解釈して納得しておきました。(そのマウスはチャタリングがひどくなったので買い替えました)

スリープ状態にしておけば作業開始まで数秒もかからないので便利に使ってはいますが、どうもこういったことには弱い印象です。


時期Windowsは「Threshold」というコードネームみたいですね。
まだ流し読みしかしてないですが、Windows8での失敗をいくつか克服しようとしているようで楽しみです。Windowsも「Rapid Release Cycle(高速リリースサイクル)」を導入してどんどん新しいのを出していく方針になったようですが(Windows8.1がそうでしたね)、それが世の中にどういった影響を及ぼすのかも見て行きたいです。

コメントする

公開されません

(いくつかのHTMLタグ(a, strong, ul, ol, liなど)が使えます)

このページの上部へ

サイト内検索

最近のコメント

広告

Powered by Movable Type 5.14-ja