Windows がスリープするのは、アイドルタイマーが切れて、かつ何もそれを能動的に妨げていないときだけです。ダウンロード中のファイル、音声を再生しているブラウザタブ、固まったドライバー、あるいは設定されたままのスリープ解除タイマー。これらはどれも、画面に何の警告も出さないまま、スリープを無期限にブロックできます。犯人の正体をピンポイントで教えてくれるコマンドが1つあります: powercfg /requests。
管理者権限でターミナルまたはコマンドプロンプトを開き、次のコマンドを実行します:
このコマンドを実行すると、現在アクティブなすべての電源要求(つまり Windows に「スリープするな」と伝えているもの全部)と、それを出しているプロセスやドライバーの名前が、いくつかのカテゴリーに分けて表示されます: SYSTEM(スリープそのものをブロック)、DISPLAY(画面を点灯させ続ける)、実行(EXECUTION)(アプリをバックグラウンドで無制限に動かし続ける)。SYSTEM の下に [PROCESS] chrome.exe や [DRIVER] Realtek Audio のような行があれば、それが犯人です。名前も証拠も揃っています。
| 犯人 | 表示される内容 | 典型的な直し方 |
|---|---|---|
| 音声がどこかで再生中 | SYSTEM/実行(EXECUTION) 配下のブラウザやアプリ | タブまたはアプリを一時停止・終了する |
| ダウンロードやバックアップが進行中 | SYSTEM 配下、アプリ名入りの [PROCESS] | 完了を待つか、ホワイトリストに登録する |
| ドライバーが解放されない | [DRIVER](ネットワーク、オーディオ、または \Driver\srvnet など) | ドライバーを更新するか設定を見直す |
| スリープ解除タイマーが有効 | /requests には出ない(powercfg /waketimers で確認) | 該当のスケジュールタスク、またはそのウェイクトリガーを無効化する |
| PCを起こすデバイスが有効 | /requests には出ない(powercfg /devicequery wake_armed で確認) | powercfg /devicedisablewake "デバイス名" |
powercfg /requests が犯人を教えてくれたら、そのアプリを閉じる、ダウンロードを終わらせる、あるいはドライバーを更新しましょう。何も閉じずに特定のリクエストだけを強制的に無視させたいときは、powercfg /requestsoverride を実行します。放置されたスリープ解除タイマーは「電源オプション → スリープ → スリープ解除タイマーの許可」にあるか、タスクスケジューラで該当タスクを直接無効化することもできます。
こんな人向け: 今すぐこの謎を解決したい人。限界: 直せるのは「今日の犯人」だけです。明日には別のアプリが同じことを静かに繰り返すかもしれません。
手動対応の本当の問題はここにあります。これは一度直せば終わる問題ではなく、繰り返し起きる「いたちごっこ」だということです。新しいダウンロード、再生中のメディアタブ、ドライバーの更新。そのたびに静かにスリープがまたブロックされ、気づくのは深夜2時にファンがまだ唸っているときだったりします。PowerDoze はこの発想を逆転させます。今日PCを起こしているものを追いかけ回すのではなく、あらかじめ「起きていてよいアプリ・状況」(ダウンロード、レンダリング、会議、フルスクリーンのゲームなど)を決めておき、スリープ防止ホワイトリストに登録しておきましょう。それ以外はすべてスリープルールに自動で任せられます。
こんな人向け: 数週間おきに同じ問題を診断し直すのにうんざりしている人。「自分で確認するのを覚えておく」必要がない、唯一の方法です。
Windows がスリープするのは、アイドルタイマーが切れて、かつ何もそれを能動的に妨げていないときだけです。ダウンロード、バックグラウンドの音声再生、固まったドライバーなど、開いたままの電源要求が1つでもあれば、タイムアウトの設定に関わらず完全に上書きされます。
管理者権限でコマンドプロンプトまたはターミナルを開き、powercfg /requests を実行してください。現在アクティブなすべての電源要求と、その背後にあるプロセスやドライバーの名前が一覧表示されます。
SYSTEM はスリープを完全にブロックします。DISPLAY は画面を点灯させ続けます(システムのスリープ自体は許可される場合もあります)。実行(EXECUTION) はアプリを無制限に動作させ続けます。SYSTEM の項目があれば、それがほぼ間違いなくPCがスリープしない理由です。
予定されているスリープ解除タイマーは powercfg /waketimers で、起動を許可されているデバイス(ネットワークアダプター、マウス、キーボードなど)は powercfg /devicequery wake_armed で確認できます。
アプリを閉じる、ドライバーを更新する、または powercfg /requestsoverride を実行してそのリクエストを強制的に無視させます。放置されたスリープ解除タイマーは「電源オプション → スリープ」またはタスクスケジューラで無効化してください。
PowerDoze は暴走している電源要求を自動で探し出してはくれません。powercfg /requests は今でも最速の手動診断手段です。自動化されるのは「予防」で、PCを起こしたままにしてよいアプリをホワイトリストに登録すれば、それ以外はすべてスリープルールに任せられます。
PowerDoze は無料でダウンロードできます。スケジュール式のスリープルールとスリープ防止ホワイトリスト(このページで紹介した機能はすべて)無料版でお使いいただけます。Pro へのアップグレードは不要です。
Windows 10/11 版を無料でダウンロードあわせて読みたい: Windows スリープ設定ガイド · ダウンロード中のスリープを防ぐ · その他の活用事例