Mac 不會自動睡眠怎麼辦?
技 iLab學校技術長進階技術・終端機・系統維修・依官方資訊整理開始前
Mac 不會自動睡眠,最常見的原因其實是設定被不小心改成「永不」,或某個 App 在背景持續阻擋睡眠指令。大部分人不用送修,從系統設定排查十分鐘以內就能解決。macOS Ventura(13)之後設定介面搬家了,很多人找不到正確位置,這是第一個容易卡關的地方。
先確認:你的 macOS 版本
不同版本設定路徑差很多,先按左上角 Apple 圖示 → 關於這台 Mac,確認版本號再對照下面步驟。
- macOS Ventura 13 / Sonoma 14 / Sequoia 15:睡眠設定分散在「系統設定 → 鎖定畫面」與「系統設定 → 節能」兩處
- macOS Monterey 12 以前:統一在「系統偏好設定 → 節能」
第一步:檢查睡眠時間設定是不是「永不」
macOS Ventura 以後:
Apple 選單 → 系統設定 → 鎖定畫面 → 找「若無操作,關閉顯示器」與「若無操作,啟動螢幕保護程式」這兩項,確認不是「永不」。
接著回到 Apple 選單 → 系統設定 → 節能(Battery 或 Energy Saver)→「電腦睡眠」同樣確認不是「永不」。
macOS Monterey 以前:
Apple 選單 → 系統偏好設定 → 節能 → 拖動「電腦睡眠」滑桿到 1–15 分鐘之間。
第二步:用終端機查是哪個 App 在阻擋睡眠
設定看起來沒問題但還是不睡眠?打開「終端機」(Spotlight 搜尋 Terminal),輸入:
pmset -g assertions
找 PreventUserIdleSystemSleep 這行,若數值是 1,下面清單就會列出是哪個 Process 在擋。常見嫌疑犯:
- Zoom / Teams / Webex:視訊通話中自動阻擋睡眠,通話結束後通常自動恢復
- Spotify / Apple Music:播放時持續存取音訊裝置
- Time Machine:備份進行中會阻擋睡眠,完成後恢復正常
- Amphetamine、Lungo、Caffeine:這類 App 本來就是設計用來「阻止睡眠」的,確認是否開著
找到 App 後,關閉或暫停它,再等設定的時間看看是否正常進入睡眠。
第三步:外接裝置與網路存取也會阻擋睡眠
外接 USB / Thunderbolt 裝置
部分硬碟、USB Hub、音效介面會讓 macOS 保持喚醒。試著拔掉外接裝置,確認 Mac 能否正常睡眠,縮小範圍再逐一插回。
網路存取(Wake for Network Access)
Apple 選單 → 系統設定(或系統偏好設定)→ 節能 → 關閉「允許透過網路存取來喚醒這部電腦」。這項功能本來用來讓 Mac 遠端喚醒,但有時會造成 Mac 一進睡眠馬上被自己喚醒。
藍牙裝置
Apple 選單 → 系統設定 → 藍牙 → 右下角「進階」→ 取消勾選「允許藍牙裝置喚醒這部電腦」。滑鼠輕微震動就把 Mac 喚醒,很多人沒注意到。
第四步:用 pmset 重設電源管理設定
如果上面都沒問題,電源管理設定可能被第三方 App 或腳本改過。在終端機執行:
sudo pmset -a restoredefaults
輸入管理員密碼後,macOS 會把所有 pmset 值還原為出廠預設。執行完記得到「節能」設定重新設定你想要的睡眠時間。
第五步:確認沒有排程喚醒任務
Apple 選單 → 系統設定 → 節能 → 點「排程」按鈕,確認沒有設定定時開機或喚醒。如果有不認識的排程,刪除後測試。
什麼情況才是硬體問題?
以下情況才需要考慮送檢:
- 執行完以上所有步驟,
pmset -g assertions顯示沒有任何 App 阻擋,設定也正確,但 Mac 仍然不睡眠 - 合蓋後立刻自動開蓋或螢幕亮起(非軟體可解釋)
- 機器年齡超過 5 年,同時出現其他異常(風扇異常大聲、機身過熱)
常見問題
Q:Mac 設定了 5 分鐘睡眠,但顯示器關掉後機器本身不睡眠,是設定錯嗎?
A:不一定是錯。macOS 預設「顯示器睡眠」和「電腦睡眠」是兩件事,顯示器可以先關,機器繼續跑背景任務。到「節能」把「電腦睡眠」另外設一個時間(建議顯示器關閉後再 5–10 分鐘),兩個都設才算完整。
Q:用 pmset -g assertions 看到 backupd 在擋,Time Machine 又一直在備份怎麼辦?
A:先讓 Time Machine 跑完一次完整備份,之後就正常了。若 Time Machine 備份超過 2 小時沒結束,到「系統設定 → 一般 → Time Machine」點「立刻備份」強制跑完;或暫時關掉 Time Machine,手動排除大型資料夾(例如 VM 虛擬機檔案)再重新開啟。
Q:Amphetamine 或 Lungo 都沒開,但 pmset 還是顯示有東西在擋,怎麼找到它?
A:pmset -g assertions 輸出的清單裡,pid 欄位就是 Process ID,直接輸入 ps -p <pid> 就能看到是哪支程式。例如 ps -p 1234 會顯示完整路徑,對照 App 名稱再決定要不要關掉它。
如果照上面步驟排查後還是無法解決,歡迎帶 Mac 來 iLab 學校讓我們現場幫你確認,也可以先看看選機與諮詢資訊 →