最近两天发现MacBook pro在不插电源待机的时候掉电飞快,
而且有时候摸上去还烫烫的
盒盖睡眠一晚上也能掉30%多的电
甚至有一次放了一天,开盖直接显示电量低要充电了!
猜测应该是睡眠中被唤醒或者是mac根本就没进入睡眠状态
上网查了一下解决方案,目前效果良好
方法如下
如果终端返回的结果是:{"TCPKeepAliveDuringSleep"=Yes,"DNDWhileDisplaySleeps"=No,"TCPKeepAliveExpirationTimeout"=43200,"NotificationWake"=Yes}则是可以按照下面的操作来。

  1. 重启 Macbook,在启动的时候按住 command + R,然后系统会尽入 recovery 模式。
  2. 选择语言,点下一步,然后在菜单栏选择打开 terminal。
  3. 输入 csrutil disable 禁掉 SIP,然后正常重启 macbook。
  4. 打开 terminal,输入 ioreg -l | grep board-id 查看你的 board-id
    (注意这里grep管道之前的字符是小写的L,然后才是“|”)
  5. 在这个目录 /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources 下面找到你的 board-id 对应的 .plist 文件
  6. 用管理员账户编辑上一步中的 plist 文件,比如 sudo vim Mac-2BD2C31983FE1634.plist
  7. 把 TCPKeepAliveDuringSleep 修改为 false, 然后保存
<key>TCPKeepAliveDuringSleep</key>
<false></false>
<key>NotificationWake</key>
<false></false>
<key>DNDWhileDisplaySleeps</key>
<true></true>
  1. 重启 mac,按照第 1,2 步进入 recovery 模式,开启 SIP,csrutil enable。
  2. 正常重启 mac,就可以了。可以用这个命令 ioreg -l | grep IOPlatformFeatureDefaults 来查看修改后的状态。


这个改完后的意思是,TCPKeepAliveDuringSleep--这个就是在睡眠的时候TCP你就不要老想着连接WiFi网络存活了。NotificationWake--- 这个意思是随机唤醒然后检查提醒,这个也改成false关闭吧。DNDWhileDisplaySleeps --这个意思是do not distrub while sleep. 这个意思是屏幕睡着了, 你就别打扰我, 让我安心睡眠。 如果有些人希望屏幕睡眠了还能用, 自己考虑这个要不要改成ture。


如果支付遇到问题,请联系我们
Weixin1:Aburauru Weixin2:wanglanyy QQ:95387119
Last modification:September 12, 2018
如果觉得我的文章对你有用,请随意赞赏,点赞也是鼓励!