Windows 要在閒置計時器歸零,而且沒有程式或裝置要求它保持清醒時,才會進入睡眠。一個下載、一個正在播放聲音的瀏覽器分頁、一個出問題的驅動程式(讓 Windows 能控制硬體的程式),或是一個排程的喚醒計時器,都可能讓電腦一直無法睡眠,而且通常不會有警告。可以先用這行指令,查出是誰在要求保持清醒:powercfg /requests。
用系統管理員開啟「終端機」或「命令提示字元」,輸入:
它會列出目前生效的電源要求。電源要求就是程式或驅動程式對 Windows 說「現在不要睡」,指令會指出是哪一個發出的。要求分成幾個類別:SYSTEM(完全擋住睡眠)、DISPLAY(讓螢幕保持開啟)、EXECUTION(要求應用程式全速執行,不被限制速度)。如果 SYSTEM 底下出現像 [PROCESS] chrome.exe 或 [DRIVER] Realtek Audio 這樣的一行,那個程式或驅動程式通常就是擋住睡眠的原因。
| 元兇 | 你會看到什麼 | 常見修法 |
|---|---|---|
| 有程式正在播放聲音 | SYSTEM/EXECUTION 下的瀏覽器或應用程式 | 暫停或關閉該分頁/程式 |
| 下載或備份進行中 | SYSTEM 下具名的 [PROCESS] | 讓它完成,或加入白名單 |
| 一直要求保持清醒的驅動程式 | [DRIVER],例如網卡、音效,或 \Driver\srvnet | 更新或重新設定該驅動程式 |
| 喚醒計時器已啟用 | /requests 查不到,改查 powercfg /waketimers | 停用該排程任務或其喚醒觸發點 |
| 裝置被設定可喚醒電腦 | /requests 查不到,改查 powercfg /devicequery wake_armed | powercfg /devicedisablewake "裝置名稱" |
用 powercfg /requests 找出原因之後,關掉那個程式、結束下載,或更新驅動程式。如果不想關閉任何程式,又想讓 Windows 忽略某個特定要求,可以用 powercfg /requestsoverride。多餘的喚醒計時器,可以在電源選項 → 睡眠 → 允許喚醒計時器裡關掉,或直接到工作排程器停用該任務。
適合:想馬上處理眼前這個問題的人。限制:只處理這一次的原因。明天可能換另一個程式,又出現同樣的情況。
手動處理有個缺點:每次出現新的原因,都要重新查一次。每個新下載、每個播放中的分頁、每次驅動程式更新,都可能又讓電腦無法睡眠,你可能要等到半夜風扇開始大聲轉動,才發現這件事。PowerDoze 的做法不同:你不用每次重新查。只要先決定哪些程式、哪些情境該讓電腦保持清醒(下載、算圖、開會、全螢幕遊戲),把它們加進keep-awake 白名單,其餘時間就交給睡眠排程自動處理。
適合:不想每隔幾週就重新診斷同一個問題的人。這個做法不需要你自己記得檢查。
Windows 要在閒置計時器歸零,而且沒有程式或裝置要求它保持清醒時,才會睡眠。下載、背景播放聲音、出問題的驅動程式,都可能送出這種要求。這時不管睡眠時間設得多短,電腦都不會睡。
用系統管理員開啟命令提示字元或終端機,執行 powercfg /requests。它會列出目前生效的電源要求,並指出是哪個程式或驅動程式發出的。
SYSTEM 代表完全擋住睡眠。DISPLAY 代表讓螢幕保持開啟(系統睡眠可能仍被允許)。EXECUTION 代表應用程式要求繼續全速執行,不被限制速度。SYSTEM 底下列出的項目,通常就是電腦不睡眠的原因。
執行 powercfg /waketimers 查排程喚醒任務,執行 powercfg /devicequery wake_armed 查哪些裝置(網卡、滑鼠、鍵盤)被允許喚醒電腦。
關閉該程式、更新驅動程式,或用 powercfg /requestsoverride 強制忽略該要求。多餘的喚醒計時器,可以在電源選項的睡眠設定裡關掉,或直接在工作排程器停用。
PowerDoze 不會主動幫你找出送出電源要求的程式,powercfg /requests 仍是最快的手動診斷方法。它自動化的是「預防」:把真正該保持清醒的程式加入白名單,其餘交給排程處理睡眠。
延伸閱讀:快速啟動、重新啟動、睡眠、休眠差在哪 · Windows 睡眠設定完整說明 · 防止下載時睡眠 · 電腦自己醒來?喚醒計時器解析 · 更多使用情境