转贴:
使用命令 pmset -g log | grep DarkWake 查看 DarkWake 唤醒日志,发现有两个事件导致我的 MacBook 被唤醒。如下:
1. DarkWake DarkWake from Deep Idle [CDNP] : due to SMC.OutboxNotEmpty smc.70070000 wifibt wlan/ Using AC (Charge:100%) 6 secs
2.DarkWake DarkWake from Deep Idle [CDNPB] : due to NUB.SPMISw3IRQ nub-spmi.0x02 rtc/Maintenance Using AC (Charge:92%) 45 secs
这两个事件均是由于 m1 macbook 强制启用 powernap 导致的。但是我们也有解决方案(需要升级到最新的 macos11.2 RC ):
对于第一个问题:这个是由于 tcpkeepalive 引起的,只需在终端使用命令关闭:sudo pmset -a tcpkeepalive 0
对于第二个问题:这个是由于 powernap 引起的,首先使用命令关闭 powernap 的 DarkWake 模式下允许进程活动:sudo pmset -a powernap 0 。
此时还没有结束,因为还有一个进程依然会在 DarkWake 模式下唤醒电脑。这个进程的目录为: /System/Library/LaunchDaemons/com.apple.PowerUIAgent.plist 。想要关闭这个进程,首先需要关闭 sip (具体可以百度),然后使用命令来永久停用这个进程:sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.PowerUIAgent.plist
chrisia777 建议:
1.运行命令: sudo pmset -a tcpkeepalive 0
2.运行命令: sudo pmset -a powernap 0
3.取消勾选这些选项: "系统偏好设置->电池->优化电池充电" and "系统偏好设置->电池->电源适配器->唤醒以供网络访问"
见:
https://discussions.apple.com/thread/252061187