1、前言
最近我的2015mbpMacBook Pro (Retina, 13-inch, early 2015)
更新完10.14系统后,发现休眠待机一晚上后能掉5%电,白天待机4-5小时又掉了8%。然而在此之前我记得休眠是几乎不怎么掉电的,所以在网上搜索了一下,后来找到了大佬的一些解决方案(认为可能是休眠时网络仍保持活跃导致)。其中的一种的成功评论比较多,大家可以试一试。
2、解决方案
- 重启 Macbook,在启动的时候按住
command + R
,然后系统会尽入 recovery 模式。 - 选择语言,点下一步,然后在菜单栏选择打开 terminal。
- 输入
csrutil disable
禁掉SIP
,然后正常重启 macbook。 - 打开 terminal,输入
ioreg -l | grep board-id
查看你的board-id
, - 在这个目录
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources
下面找到你的board-id
对应的.plist
文件 - 用管理员账户编辑上一步中的
plist
文件,比如sudo vim Mac-2BD2C31983FE1634.plist
- 把
TCPKeepAliveDuringSleep
修改为false
, 然后保存。
若系统是
catalina 10.15
,系统会提示是只读文件,无法修改。具体解决方案请看下面第3点~
- 重启 mac,按照第 1,2 步进入 recovery 模式,开启 SIP,
csrutil enable
。 - 正常重启 mac,就可以了。可以用这个命令
ioreg -l | grep IOPlatformFeatureDefaults
来查看修改后的状态。
<key>TCPKeepAliveDuringSleep</key>
<false/>
<key>NotificationWake</key>
<false/>
<key>DNDWhileDisplaySleeps</key>
<true/>
3、Catalina 修改系统文件
这次更新的10.15把所有的系统文件单独分到了一个卷宗,即使禁用了SIP,修改文件也还会是只读。 但是修改还是可以,只是麻烦多了一步。禁用SIP后,需要在终端执行
sudo mount -uw /
然后就可以修改文件夹的读取权限,再进行修改,需要注意的是,重启电脑会失效,下次修改还要重复上面的操作。
来源:macOS 10.15 Catalina 禁用新版SIP防护 修改系统文件。 感谢@威風堂々
4、自我测试
测试环境
Macbook pro 2015, 系统是最新的10.14。
测试方案
凌晨一点合上盖子,早上7点半打开盖子。观察电池的变化量。
测试结果
凌晨一点电量是98%,早上7点半打开盖子是96%,6个半小时掉了2%。
-
下面图是
console
控制台的System.log
,可以看到凌晨1点-7点半的睡眠期间,系统没有任何活动日志记录。 -
下面图是
Activity monitor
活动监测器显示的电池状态,可以看到凌晨1点-7点半的睡眠期间,这段时间没有电量变化记录。
我的结论
由于没有好坏的对比标准,故从我只能从我自身设置前后的电量掉量进行对比。通过设置后,掉电量从5%降到2%,而且从系统工具来看,感觉是确实是睡眠了,并没有电量变化和日志记录。所以综上所述,这个方案应该是可行的。
这个5%的睡眠时间段并没和2%的一样。所以分析只是个大概,并不严谨的。
4、方案出处
v2ex论坛:https://www.v2ex.com/t/361578#reply5。
感谢@liul85 。