升级Mac OS 10.13.5之后,不插电源待机耗电陡然增加,经过一晚上七个小时的待机,会掉电17-25%这样。
期间,在各种百度、知乎上寻找答案,一直没能解决。
让我下定决心解决这个问题的原因是,之前参加会议,期间我只改了大约不到一个小时的稿件,剩余时间电脑都是合盖状态。当天会议结束回家后,电量就只剩30%多了。
这让我很敏感——就用了不到一个小时,晚上电量就快没了,万一我有什么紧急的事情需要处理,就歇菜了。
继续百度,没查到什么有用信息。于是,又拿Google搜,变着各种关键词,前后查阅了四五个小时的资料,测试多次,终于解决了问题。
第一次测试,待机8个多小时,只掉电2%。
第二次测试,待机将近9个小时,掉电3%。
如何解决的呢?其实这是一位网名为“liul85”给出的解决文案(后来查证,最终来源是国外某网站),整个操作流程如下:
1. 重启 Macbook,在启动的时候按住 command + R,然后系统会尽入 recovery 模式。
2. 选择语言,点下一步,然后在菜单栏选择打开 terminal。
3. 输入 csrutil disable 禁掉 SIP,然后正常重启 macbook。
4. 打开 terminal,输入 ioreg -l | grep board-id 查看你的 board-id,
5. 在这个目录 /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources 下面找到你的 board-id 对应的 .plist 文件
6. 用管理员账户编辑上一步中的 plist 文件,比如 sudo vim Mac-2BD2C31983FE1634.plist
7. 修改以下参数,然后保存:
<key>TCPKeepAliveDuringSleep</key>
<false/>
<key>NotificationWake</key>
<false/>
<key>DNDWhileDisplaySleeps</key>
<true/>
8. 重启 mac,按照第 1,2 步进入 recovery 模式,开启 SIP,csrutil enable。
9. 正常重启 mac,就可以了。可以用这个命令 ioreg -l | grep IOPlatformFeatureDefaults 来查看修改后的状态。
修改这三项是什么意思呢,网上有人做出了解释:
TCPKeepAliveDuringSleep:就是在睡眠的时候TCP你就不要老想着连接WiFi网络存活了。
NotificationWake:意思是随机唤醒然后检查提醒,这个也改成false关闭吧。
DNDWhileDisplaySleeps:意思是do not distrub while sleep. 这个意思是屏幕睡着了, 你就别打扰我, 让我安心睡眠。 如果有些人希望屏幕睡眠了还能用, 自己考虑这个要不要改成ture。
需要指出的是,这个方法能解决98%以上的Mac待机耗电多的难题。如果你试用这个方法后,仍然无效,而你凑巧是2015年的Macbook,那么问题原因可能是15款MacBook的一个Bug:
诡异的系统设置是15年款的macbook升级到sierra后有的,因为我找了很多同事的对比,他们captian系统的电源参数都是正常符合上述的式子的,可以正常休眠,然后15年款之前的升级到sierra参数也符合,就我和另外几个15年款的mac升级sierra后出现无法休眠问题。
解决办法:
附录历程:
1)其实掉电,升级10.12后就有,只不过那个时候,手动关闭WiFi,掉电还能忍耐(一晚上8%)。
2)Mac OS在10.13.4之前是没问题的,待机耗电也在可忍耐范围之内,一晚上8%。10.13.4及之后,掉线大增,一晚上(7个小时)18%
3)中间有查询资料,看看如何解决,尝试了包括重置SMC之类的,都无效。
4)我彻底无法忍耐之后,就开始投入时间解决这个问题。包括通过终端命令:pmset -g custom,查看tcpkeepalive有没有关闭(参数解释见这里:https://www.deaboway.com/macbook-pro-2017-powon.html ),并关闭,然而无效。
5)准备四五次尝试,然后当尝试文章上面说到的解决方案后就直接解决了,撒花!
试试这个呢
https://www.iclws.com/solve-the-power-consumption-problem-of-macbook-box-cover.html