38

After upgrading macOS Monterey, the device wakes up frequently in the middle of...

 2 years ago
source link: https://www.logcg.com/archives/3528.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
最近更新:9th 11月, 2021

最近更新到了 macOS Monterey, 半夜总会被屏幕照醒,就觉得很诡异,以前也有过,但都是有通知的时候才会点亮屏幕,现在是没有任何理由的自己点亮,硬件还是那个硬件,那就应该是软件的锅了。

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

写的很详细,但显然是没有任何用处的……

于是继续深挖,还真找到了原因,使用命令 pmset -g log | grep DarkWake 就可以看到,在你睡觉的过程中,你的 Mac 并没有歇着……

2021-11-09 01:21:32 +1000 DarkWake             DarkWake from Deep Idle [CDN] : due to SMC.OutboxNotEmpty smc.70070000 wifibt wlan/ Using AC (Charge:100%) 0 secs
2021-11-09 01:21:32 +1000 Wake                 DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using AC (Charge:100%)
2021-11-09 02:00:44 +1000 DarkWake             DarkWake from Deep Idle [CDN] : due to SMC.OutboxNotEmpty smc.70070000 wifibt wlan/ Using AC (Charge:100%) 0 secs
2021-11-09 02:00:44 +1000 Wake                 DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using AC (Charge:100%)
2021-11-09 03:14:07 +1000 DarkWake             DarkWake from Deep Idle [CDN] : due to AOP.OutboxNotEmpty spu_queue_overflow_ep42/ Using AC (Charge:100%) 0 secs
2021-11-09 03:14:07 +1000 Wake                 DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using AC (Charge:100%)
2021-11-09 03:53:30 +1000 DarkWake             DarkWake from Deep Idle [CDN] : due to SMC.OutboxNotEmpty smc.70070000 wifibt wlan/ Using AC (Charge:100%) 1 secs
2021-11-09 03:53:31 +1000 Wake                 DarkWake to FullWake from Deep Idle [CDNVA] : due to HID Activity Using AC (Charge:100%)

看看输出,这几个比较典型,大部分都是这样的,一个 DarkWake, 一个 Wake, 两个仅仅相连,那么问题就出来了, DarkWake 是给电脑在后台唤醒来更新数据的,但不知怎么的,外设被触发,从而导致了全局唤醒。

我的一个笔记本就这样一夜掉电10%。

总之,我并不想要这个功能, 就那个 PowerNap,对我来说,我更希望它能给我多省点电,于是大概解决思路就这么多:关掉网络访问唤醒,关掉 PowerNap……不过问题来了,在 m1 设备上,其实是没有 PowerNap 选项的……(显然,苹果对自己的续航很有信心,但他们忽略了Bug的威力)

在 m1 芯片上,就算是连接电源的界面也没有 PowerNap 选项

于是对于 PowerNap 这个功能来说,我们只能从命令行下手,首先使用 pmset -g 命令查看当前状态,找到 powernap 的值,如果不是 0 ,说明是启用的状态,使用命令 sudo pmset -a powernap 0 关掉它。

同时,还有另外一个 tcpkeepalive ,这个默认应该也不是 0 ,也要关掉,它决定了你的 rmbp 在休眠时是否要保持 tcp 连接——显然,保持的话就需要定时唤醒来联网了…… sudo pmset -a tcpkeepalive 0 ,执行这条命令会导致终端提示:

Warning: This option disables TCP Keep Alive mechanism when sytem is sleeping. This will result in some critical features like 'Find My Mac' not to function properly.

大概是说关了的话某些功能会受到限制,其实就是系统功能不能休眠时联网了,我相信真有人偷了你 Mac,它也连不上网的。

总之,两条命令下来,问题应该就解决了,但我找的资料中,还有一条是“关闭优化电源充电”,就那个“Optimized battery charging”,但我不确定这个会不会同样导致唤醒,并且我之前的老 15 寸也确实鼓包了两块电池了,我决定先试试开着它,如果还唤醒,再关掉好了。

总之,就这样,如果你读到这篇文章的时候我没来更新,那说明上述方案是有效的 :)


参考文献:
  • https://discussions.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

About the Author

9199db428730d8ac5dd90f8c180f8713?s=64&d=mm&r=pg

落格博客

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

发表评论 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论 *

显示名称 *

电子邮箱地址 *

网站地址

在此浏览器中保存我的显示名称、邮箱地址和网站地址,以便下次评论时使用。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK