← All posts English version →

以為筆電睡了,它其實還醒著:Modern Standby 待機耗電的原因

早上把筆電一闔,塞進包包就出門。中午打開,發現機身燙燙的,電量也少了一截,而你整個上午都沒碰它。

這通常不是壞掉。你以為它在睡覺,它可能一直半醒著在背景上網,一邊發熱,一邊耗用電池的電。

這篇帶你找出是什麼在睡眠狀態下耗電,再一步一步處理。

現在的筆電,「睡覺」的做法變了

你可能一直以為「螢幕一闔 = 電腦睡了 = 不耗電」。以前確實是這樣。

以前的筆電闔上蓋子後,進入的是 S3 睡眠:只有記憶體保留一點點電,其他全部斷電,整台幾乎不耗電,放個幾天再開通常還有電。但這幾年的許多新筆電改用另一種做法,叫 Modern Standby(S0 低功耗待機),做法跟手機類似。它所謂的「睡著」,其實是保持部分運作:隨時連著網路、同步信件、在背景安裝更新,你一掀開螢幕就能立刻使用。

運作順利時很方便。但如果某個程式或驅動程式(讓 Windows 能控制硬體的程式)出問題,讓它一直高耗電,放在包包裡的筆電就會持續發熱。正常的機器一整晚通常只少幾個百分點;出狀況的機器,一小時可能少 10% 以上。

傳統睡眠像睡得很沉的人:你不搖他,他基本上跟關機沒兩樣。Modern Standby 則像淺眠的人,手機放在床頭,一震動、一則通知就半醒過來看一眼。多數晚上沒事,但如果手機整夜亮個不停,他就沒有真的休息到,隔天又累又發燙。這就像放在你包包裡一直耗電的筆電。

第一步:先查出電腦在做什麼

先不要急著改設定,讓 Windows 自己把原因列出來。開啟系統管理員的終端機(在開始選單搜尋 cmd → 按右鍵選「以系統管理員身分執行」),輸入下面三個指令:

  • powercfg /a:看你的筆電支援哪幾種睡眠。看到「待命 (S0 低電源閒置)」,代表你的筆電用的是 Modern Standby。如果清單裡沒有 S3,代表這台筆電的硬體不支援傳統睡眠,無法從 Windows 設定改回去(之後判斷要不要改登錄檔關掉 Modern Standby,會用到這一點)。
  • powercfg /sleepstudy:這個指令提供的資訊最完整。它會產生一份網頁報告,列出你每一次「睡眠」的情況,包括睡了多久、用了多少電、是什麼讓它沒辦法好好睡。造成耗電的原因,通常就寫在「Top Offenders(最大元兇)」那一欄。
  • powercfg /lastwake:顯示上一次是什麼把電腦喚醒的。
sleepstudy 就像幫筆電做一份「睡眠品質報告」,跟智慧手環記錄你的睡眠一樣:它不會讓睡眠變好,但會清楚告訴你,昨晚幾點被吵醒、被什麼吵醒。知道原因,才能對症處理。

第二步:對症下藥

找到原因後,可以試試下面幾個做法,從最簡單的開始:

  • 關掉不需要的喚醒功能。執行 powercfg /devicequery wake_armed,會列出「有權叫醒電腦」的裝置,其中可能有你用不到的網路卡、滑鼠或鍵盤。到「裝置管理員」找到那個裝置 → 內容 → 電源管理 → 取消勾選「允許這個裝置喚醒電腦」。
  • 待機時讓網路中斷。Modern Standby 的耗電,有一部分來自一直連著網路。有些筆電的電源設定有「待命時的網路連線」,把用電池時的選項設成「停用」,待機耗電通常會減少。
  • 要離開久一點,改用「休眠」。休眠(S4)會把記憶體的內容存到硬碟,然後整台真正斷電,幾乎不耗電,放一整天、帶上飛機都沒問題,只是再開機要多等幾秒(離開好幾小時的話,這點差別通常不明顯)。先確認休眠是開啟的(powercfg /hibernate on),再到控制台的「選擇蓋上螢幕時的行為」,把「電池使用中」那一欄從睡眠改成休眠。
休眠就像出國前把冰箱拔插頭、清空、上鎖:不耗電、不會壞、一毛不花,代價是回家要等它重新冷起來。睡眠則只是把冰箱門關上:門一開就是冷的,但全程都在低聲運轉。喝杯咖啡的休息,關門就好;出門兩週,就該拔插頭。把筆電放進包包、離開好幾個小時,比較像出遠門,不像喝杯咖啡。

網路上有些文章會建議「改登錄檔把 Modern Standby 關掉」(PlatformAoAcOverride),但建議先不要這樣做。如果你的機器硬體上已經沒有 S3(用 powercfg /a 查不到 S3 的話,近幾年的筆電大多如此),關掉之後無法換回傳統睡眠,系統可能進入無法保證正常運作的狀態,而且新版 Windows 有時不會理會這項設定。如果真的要試,請隨時準備好改回來。多數情況下,把闔蓋動作改成休眠就有類似的效果,也不用冒這個險。

睡眠或休眠,要看情境選

休眠和睡眠這兩種做法在不同情境下會互相衝突。把筆電放進包包時,你需要休眠(完全斷電);放在書桌上時,你需要輕快的睡眠(掀開就立刻醒來)。同一台筆電,不同情境要的不一樣。

偏偏 Windows 的「闔蓋要做什麼」只分「一般電源」和「電池使用中」兩欄,分不出你是把筆電放在包包裡,還是放在書桌上。所以只靠這兩欄,有些情境還是不合用:用電池時設休眠,掀蓋要等;設睡眠,放進包包又繼續耗電。

PowerDoze 一樣分不出包包和書桌,也不會改變 Modern Standby 本身(那由硬體和 Windows 決定,要處理請用 powercfg /a、/sleepstudy、/lastwake 這幾個診斷指令)。它管的是什麼時候、用哪一種方式進入睡眠。能省下的電,有不少來自這個決定:

  • 闔蓋動作分插電和用電池兩種(專業版):例如「用電池就休眠、插電就睡眠」,設定一次,之後依有沒有插電自動選用,你不用每次自己記得切換。這兩欄 Windows 控制台的「選擇蓋上螢幕時的行為」本來就能設,PowerDoze 是在「設定」→「進階」分頁放了同一組設定,不用再進控制台改。
  • 設定半夜自動休眠:例如「凌晨一點還醒著就自動休眠」,處理那些忘了關機、直接放著的夜晚。這也是早上電量莫名變少的常見原因之一。
  • 「多久沒動作後進入睡眠」的時間會隨電源模式自動切換:電池模式設短一點,插電時設長一點,你不用每次進控制台改。

軟體做得到和做不到的事

一般的第三方軟體(包括我們的)都無法改變 Modern Standby 開始之後的行為,那由硬體和 Windows 決定。要處理這部分,請看「第一步:先查出電腦在做什麼」的診斷方法。軟體能做的,是決定「什麼時候、用什麼方式」進入低功耗:該睡就睡、該休眠就休眠、該關機就關機,你不用每次自己判斷。有不少莫名減少的電量,是出在這個決定上。想完整了解 Windows 睡眠設定,可以接著讀我們的 Windows 睡眠設定完整指南。

從 Microsoft Store 取得 PowerDoze從 Microsoft Store 取得 PowerDoze

Nisonxi

我是 Nisonxi,PowerDoze 的開發者。當初純粹因為我自己受夠了 Windows 桌機整天全速發呆吃電、卻找不到一個能「看懂情況、自動切換」的工具,乾脆自己做。這個部落格就是我一路上的筆記。

關於作者與 PowerDoze →