你明明把睡眠時間設好了。可是該睡的時候,電腦不睡,風扇還在轉;不該睡的時候(像是下載到一半、影片轉檔到一半),電腦卻說睡就睡。你把數字改大一點、再改小一點,來來回回,還是調不好。
這不一定是你設錯了。問題不在數字調得不夠好,而在於睡眠計時器只是倒數計時,不會判斷你的電腦正在做什麼。它分不出你是正在下載檔案,還是已經離開電腦了。
這篇會說明:每個設定藏在哪裡、各種睡眠狀態有什麼差別,以及怎麼用幾個 powercfg 指令找出「誰擋著不讓睡」和「誰半夜把電腦叫醒」。看完你會知道怎麼把睡眠調到合適的程度,也會知道內建設定有一個調整不了的限制。
設定到底藏在哪
Windows 把睡眠設定分在三個地方,所以很容易找錯:
- 設定 → 系統 → 電源和電池(桌機叫「電源」):新版頁面。關螢幕和睡眠的計時器,插電/用電池分開設。你可能只看過這一頁(一步步怎麼改:變更電源與睡眠設定 →)。
- 控制台 → 電源選項:傳統電源計畫(平衡/高效能/省電),現在仍然可以使用。「變更進階電源設定」裡有更細的選項:混合式睡眠、多久後休眠、USB 選擇性暫停、喚醒計時器、闔蓋與電源鍵行為。
powercfg:Windows 內建的命令列工具,用打字下指令的方式操作,能查到圖形介面看不到的資訊。這篇的診斷指令都是 powercfg,多數沒有對應的圖形介面。
睡眠、休眠、混合式、Modern Standby:差別在哪
- 睡眠(S3):記憶體保持供電(1–5 瓦),其他零件全關。約 1 秒喚醒。斷電的話,記憶體裡的資料會遺失。
- 休眠(S4):記憶體內容寫進硬碟(
hiberfil.sys),耗電為 0 瓦。喚醒較慢,斷電也不會遺失資料。開啟指令:powercfg /hibernate on。 - 混合式睡眠:睡眠,同時把記憶體寫進硬碟。桌機預設會開啟。喚醒速度像睡眠,斷電時資料也像休眠一樣不會遺失,代價是多一次磁碟寫入。
- Modern Standby(S0 低電源閒置):常見於較新的筆電。電腦保持半睡半醒,以便收信、同步資料,這也是有些筆電放在背包裡會發燙的原因。查你的機器支援哪種:
powercfg /a。
睡眠跟「鎖定」「登出」又差在哪、哪些程式還在執行?另一篇有完整對照表:鎖定、睡眠、登出差在哪 →
問題一:「電腦不肯睡」
多半是有程式或驅動程式(讓 Windows 能控制硬體的程式)送出了「防止睡眠」的電源要求。用系統管理員終端機執行下面的指令,大約 10 秒就能找出來:
powercfg /requests
DISPLAY / SYSTEM / AWAYMODE 底下列出來的,就是正在阻止睡眠的程式或驅動程式,通常是播著聲音的瀏覽器分頁、沒有回應的驅動程式,或持續送出要求的背景程式。其他常見的原因:
- 喚醒計時器:排程工作會把電腦叫醒。
powercfg /waketimers可以列出這些排程;進階電源設定裡的「允許喚醒計時器」可以關閉(完整教學 →)。 - 上次是誰叫醒電腦:
powercfg /lastwake。 - 哪些裝置有權叫醒電腦:
powercfg /devicequery wake_armed;滑鼠和網卡常是原因。到裝置管理員 → 電源管理,逐一關閉。 - 完整報告:
powercfg /energy會產生一份 HTML 報告,列出電源使用上的異常項目。
powercfg /requests 就像你打開房門問一聲「誰還醒著?」,躲在棉被裡偷玩手機的(播著聲音的瀏覽器分頁),或是窗外一直叫的狗(滑鼠、網卡)就會被點名。找出來一個個關掉,房間自然就安靜下來了。
問題二:「不該睡卻睡掉」
反過來的情況:你正在下載 60 GB 的遊戲、轉檔轉到一半,或是執行著伺服器,睡眠計時器一到,電腦就進入睡眠,這些工作也跟著中斷。Windows 內建的做法各有缺點:
- 睡眠設成「永不」:有效,但電腦之後會 24 小時耗電,除非你記得改回來。
- 手動切電源計畫:有效,但要靠你記得切回來,缺點跟睡眠設成「永不」一樣。
- presentationsettings.exe:用簡報模式讓電腦保持清醒;要手動開、手動關。
缺少的是這樣的功能:「這個程式在做事的時候保持清醒,做完照常睡。」Windows 的睡眠設定沒有這個選項。睡眠計時器是整台電腦共用的一個數字,不會看現在正在執行什麼程式。
如果你要的是「再過一小時就關機」這種倒數,那是另一回事,見Windows 有沒有睡眠計時器 →
合理的基準設定
- 桌機:關螢幕 10 分鐘、睡眠 30 分鐘、混合式睡眠開、喚醒計時器關(除非你有必須喚醒電腦的排程備份)。
- 筆電(插電):關螢幕 10 分鐘、睡眠 30 分鐘。
- 筆電(電池):關螢幕 5 分鐘、睡眠 10–15 分鐘、60 分鐘後休眠。
- 半夜電腦自己醒來的話,關掉滑鼠的喚醒權限(用
powercfg /devicequery wake_armed查)。桌子震一下,就可能讓某些滑鼠把電腦喚醒。 - 筆電闔上螢幕、接外接螢幕用的話,闔蓋動作要另外設:闔上螢幕,外接螢幕卻跟著黑?→
Windows 內建設定解決不了的限制
就算調到最合適,Windows 的睡眠設定仍然是一個固定的數字。它沒辦法在下午 2 點用一種設定、凌晨 2 點用另一種設定,也分不出「正在下載」和「人走了」,也不會在你開遊戲、進會議,或把筆電從公司帶回家時自動切換。不管是調整這些基準設定,還是把睡眠設成「永不」、手動切電源計畫,都是你在手動補償一個不會判斷情境的設定。
這個缺口就是我們做 PowerDoze 的原因:排程規則替每個時段選電源模式、白名單讓特定程式執行時不睡(執行完照常睡)、全螢幕或遊戲偵測會自動暫停計時、會議偵測(2.4.0 版起)讓通話中不睡,這些全部免費、不用帳號、完全本機。Pro(一次性買斷、無訂閱)再加上你起身後自動降速的離開模式、Wi-Fi 設定檔。如果這篇指南已經解決了你的問題,那很好。如果你不想再自己手動補償這些設定,可以試試 PowerDoze。
想看免費版跟 Pro 差在哪?看功能對照頁 →;想看跟 Windows 內建設定、PowerToys Awake 逐項比較?看詳細對照表 →;只想比 PowerToys Awake,看中文版逐項比較 →。
powercfg 快速參考
powercfg /a:這台電腦支援哪些睡眠狀態powercfg /requests:現在是誰擋著不讓睡powercfg /waketimers:排程喚醒清單(完整指南 →)powercfg /lastwake:上次是誰叫醒電腦powercfg /devicequery wake_armed:有權喚醒電腦的裝置powercfg /energy:完整異常報告(HTML)powercfg /hibernate on|off:開關休眠powercfg /batteryreport:電池健康履歷(筆電)