升級 macOS Monterey 後設備休眠半夜頻繁喚醒問題

最近更新到了 macOS Monterey, 半夜總會被屏幕照醒,就覺得很詭異,以前也有過,但都是有通知的時候才會點亮屏幕,現在是沒有任何理由的自己點亮,硬件還是那個硬件,那就應該是軟件的鍋了。

在網上查了一圈,先是找到了蘋果官方的教程:HTTPS://support.apple.com/zh-cn/guide/mac-help/mchlp2995/mac

寫的很詳細,但顯然是沒有任何用處的……

於是繼續深挖,還真找到了原因,使用命令 pmset -g 日誌 | grep的 黑暗覺醒 就可以看到,在你睡覺的過程中,你的 Mac 並沒有歇著……

看看輸出,這幾個比較典型,大部分都是這樣的,一個 DarkWake, 一個 Wake, 兩個僅僅相連,那麼問題就出來了, DarkWake 是給電腦在後台喚醒來更新數據的,但不知怎麼的,外設被觸發,從而導致了全局喚醒。

我的一個筆記本就這樣一夜掉電10%。

 

總之,我並不想要這個功能, 就那個 PowerNap,對我來說,我更希望它能給我多省點電,於是大概解決思路就這麼多:關掉網絡訪問喚醒,關掉 PowerNap……不過問題來了,在 m1 設備上,其實是沒有 PowerNap 選項的……(顯然,蘋果對自己的續航很有信心,但他們忽略了Bug的威力)

在 m1 芯片上,就算是連接電源的界面也沒有 PowerNap 選項

在 m1 芯片上,就算是連接電源的界面也沒有 PowerNap 選項

於是對於 PowerNap 這個功能來說,我們只能從命令行下手,首先使用 pmset -g 命令查看當前狀態,找到 小睡 的值,如果不是 0 ,說明是啟用的狀態,使用命令 須藤 pmset -一個 小睡 0 關掉它。

同時,還有另外一個 tcpkeepalive ,這個默認應該也不是 0 ,也要關掉,它決定了你的 rmbp 在休眠時是否要保持 tcp 連接——顯然,保持的話就需要定時喚醒來聯網了…… 須藤 pmset -一個 tcpkeepalive 0 ,執行這條命令會導致終端提示:

大概是說關了的話某些功能會受到限制,其實就是系統功能不能休眠時聯網了,我相信真有人偷了你 Mac,它也連不上網的。

總之,兩條命令下來,問題應該就解決了,但我找的資料中,還有一條是“關閉優化電源充電”,就那個“Optimized battery charging”,但我不確定這個會不會同樣導致喚醒,並且我之前的老 15 寸也確實鼓包了兩塊電池了,我決定先試試開著它,如果還喚醒,再關掉好了。

總之,就這樣,如果你讀到這篇文章的時候我沒來更新,那說明上述方案是有效的 :)


參考文獻:
  • HTTPS://Discussion.apple.com/thread/252061187
  • HTTPS://apple.stackexchange.com/questions/253776/macbook-pro-13-with-retina-display-consumes-10-battery-overnight-with-the-lid-c
  • HTTPS://Discussions.apple.com/thread/252276065

本文由 落格博客 原創撰寫:落格博客 » 升級 macOS Monterey 後設備休眠半夜頻繁喚醒問題

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/3528.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

註釋

  1. 太強了,感謝大佬的教程,我是遇到了鎖定畫面後,點擊下面的叉號,不能立即黑屏而是黑一下螢幕有亮了,這教學很給力! ! !

  2. 感謝落格的快速回复.
    是啊, 我也在尋找很長時間的修復,但沒有任何幫助.

    大多數情況下,我也將它放在電纜上,當我知道接下來的幾個小時不使用它時,我將其關閉以節省電池電量.

    也許有一天 Apple 會提供修復程序,但我不太確定,因為我在 MacOS 下也遇到過這個問題 12

    無論如何謝謝你🙂

  3. 嘿路由器,
    它對我不起作用.

    我使用當前的 MacOS 版本 13.3.1

    我的 PMSet 是:

    系統範圍的電源設置:
    睡眠禁用 0
    目前正在使用:
    支持 1
    電源按鈕睡眠 1
    睡眠服務 0
    休眠文件 /var/vm/sleepimage
    小睡 0
    網絡睡過頭 0
    磁盤休眠 10
    睡覺 1 (電源阻止睡眠)
    休眠模式 3
    保持清醒 0
    顯示睡眠 2
    tcpkeepalive 0
    低功耗模式 1
    哇哦 0

    一夜之間我失去了周圍 10% 電池的. 🙁
    沒有連接外部設備.

    當我使用命令時: “pmset -g 日誌 | grep 黑暗覺醒”
    我從終端得到了這個答案:

    2023-04-15 23:02:22 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:81%) 45 秒
    2023-04-16 00:31:57 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:79%) 45 秒
    2023-04-16 02:07:36 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:77%) 45 秒
    2023-04-16 03:13:31 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 NUB.SPMISw3IRQ nub-spmi0.0x02 rtc/Maintenance Using BATT (收費:75%) 45 秒
    2023-04-16 04:48:44 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:75%) 45 秒
    2023-04-16 06:24:12 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:73%) 45 秒
    2023-04-16 07:59:21 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:71%) 45 秒
    2023-04-16 09:34:34 +0200 DarkWake DarkWake from Deep Idle [CDN] : 由於 AOP.OutboxNotEmpty spu_queue_overflow_ep42/ 使用 BATT (收費:70%) 45 秒

    也許你能幫我? 🙂

    親切的問候
    托馬斯

    1. 小伙子, 我已經為你做了一些研究,但沒有運氣. 這個 due to AOP.OutboxNotEmpty 看起來像堅持. 一些人工作, 但有些人沒有, 真的不知道.
      為我, 現在我正在使用 m1 mac 所以即使它還在吃我的電池, 它持續時間足夠長,現在我更多地將它作為桌面插入😆

      對不起,沒有幫助….

發表評論

您的電子郵件地址不會被公開. 必填字段標 *