如何讀取 MacBook 睡眠與喚醒日誌
使用 pmset 與統一日誌建立帶時間範圍的喚醒時間線,理解原因字段,並保護隱私。
按時間範圍查閱日誌,謹慎解釋喚醒原因,不把 DarkWake 錯當作應用運行證據。
排查 MacBook 睡眠或喚醒問題時,先確定你要回答的問題:電腦是否進入過睡眠、何時出現喚醒、是否馬上返回睡眠,還是屏幕只是關閉。日誌提供系統記錄的時間線,不能單獨證明哪個應用或配件是根本原因。一次只調查一個具體事件,比無範圍地搜索日誌更容易得出有用結論。
記錄測試時段和環境
先記下事件發生的本地日期和時間、時區、Mac 型號、macOS 版本、電源來源、機蓋當時是否打開,以及連接的擴展塢、USB、藍牙和顯示器。也記下你採取的動作,例如從 Apple 菜單選擇“睡眠”或合上機蓋,以及屏幕是否亮起。若要復現問題,固定觀察時長,並盡量保持電源、網絡、配件和負載條件一致。對照測試時一次只改變一個條件;否則結果變化無法說明哪個因素相關。
使用只讀命令收集時間線
打開“終端”,先使用下列只讀命令查看電源配置、當前斷言和近期電源歷史:
pmset -g custom
pmset -g assertions
pmset -g log | tail -250
這些命令讀取資訊,不修改電源設置。-g custom 用於查看按電源來源配置的設置;-g assertions 顯示執行命令當時有效的電源請求,是一個瞬時快照,並不能還原幾個小時前或整夜的全部請求;-g log 可查看系統保留的電源歷史。tail -250 僅限制終端顯示的末尾行數,不會更改系統日誌。不同 macOS 版本的選項、保留內容和輸出格式可能不同,可用本機 man pmset 查看隨系統安裝的手冊。
要查詢統一日誌中最近一小時、歸屬於 powerd 的消息,可運行:
log show --last 1h --style compact --predicate 'process == "powerd"'
這也是讀取操作。將 1h 改成適當的觀察範圍之前,可先用 log show --help 查看本機支持的參數。篩選 powerd 有助於縮小範圍,卻不保證涵蓋所有相關消息;內核、驅動或其他服務可能使用不同進程名稱記錄事件。日誌可能經過隱私處理,較早記錄也可能已過保留期限。
按順序解釋字段和事件
在 pmset -g log 結果中,先尋找與你記錄的時間接近的睡眠和喚醒事件,再觀察後續是否出現返回睡眠或更完整喚醒的記錄。不同系統版本的字段和描述可能變化。若一行出現 Wake 或 DarkWake,它說明系統記錄到相應電源事件或狀態轉換;它本身沒有說明某個第三方應用正在運行,也沒有證明具體應用、腳本或機蓋角度工具發起了喚醒。
如果記錄中出現 due to 後跟原因描述,應先把該描述理解為系統報告的原因類別或線索。例如,網絡、維護、定時事件或外設相關字樣可以提示你檢查相應設置或連接設備,但不能自動構成完整因果鏈。緊接喚醒事件出現的進程也可能只是響應喚醒。Apple 開源的 PowerManagement 代碼展示系統內部區分睡眠、DarkWake 等狀態;內部實現並不保證每台 Mac 都具備相同能力或呈現相同日誌內容。
比較多次事件時,應對齊時間範圍,檢查相同原因描述是否反復出現,並與電源來源和外設記錄一起看。如果懷疑擴展塢,只斷開擴展塢後按相同條件復測;結果變化後可再接回並重復一次。不要同時重置多個 pmset 設置,也不要僅憑單行日誌推斷硬體損壞。日誌可以協助提出下一項檢查,不能代替 Apple 對電池、感測器或邏輯板的硬體診斷。
分享日誌前保護隱私
電源和統一日誌可能包含設備名稱、帳戶資訊、網絡細節、文件路徑和使用時間。分享之前,逐行檢查準備發佈的片段,遮蓋姓名、帳戶名、序列號、網絡地址和私人路徑。只提供事件前後所需的少量行,並補充 Mac 型號、macOS 版本、時區、電源來源和復現步驟。不要把未檢查的完整診斷包或整段個人日誌發佈到公開論壇;若 Apple 支持需要更多資料,按其官方渠道和說明提供。
何時求助
如果在控制條件後問題仍可重復,或電腦異常發熱、頻繁意外喚醒、電池健康度提示檢修,請記錄已經進行的步驟並聯繫 Apple 支持或授權服務提供商。提供型號、系統版本、測試時長、供電方式和經過隱私處理的相關日誌。若日誌沒有明確原因,不代表電腦一定沒有問題;若日誌出現某個原因標籤,也不等於已經確認故障部件。機型和系統版本會影響電源行為,結論應限制在實際觀察到的條件中。
常見問題
這些日誌能證明究竟哪個應用喚醒了 Mac 嗎? 不一定。原因字段可能指向子系統或類別,但日誌未必提供完整因果鏈;時間接近也不能證明發起關係。
DarkWake 是否意味著某個腳本或應用在運行? 不能這樣推斷。DarkWake 表示電源管理狀態,並不單獨證明第三方應用或機蓋角度腳本喚醒了電腦。可繼續閱讀DarkWake 與 FullWake 說明。
為什麼命令沒有顯示舊事件? 統一日誌保留期限有限,系統可能已經清理舊記錄。應在問題復現後盡快收集,並記錄準確時段。
如何把日誌和合蓋耗電聯繫起來? 同時記錄固定時長前後的電池百分比及供電狀態,再對照該時段的睡眠和喚醒歷史。參閱合蓋電池耗電測量指南。