关于Mac休眠掉电问题的收集

in cn •  7 years ago 

作为一个新上手的2017 touch bar mbp信仰充值用户,近来一直被一个问题所困扰————每天晚上将100%电量的mbp直接合盖(会进入休眠状态),第二天打开总会掉10%-20%左右的电量。经过一番调查和研究,将此问题和解决方式记录。

掉电原因

  1. 蓝牙问题
  2. wifi问题

解决方案

  1. 针对蓝牙问题,网上并没有太好的方法,基本上只能自己手动关闭,但是不排除使用脚本关闭,该方法有时间可以琢磨下。
  2. 大部分人掉电的原因是由于wifi连接问题导致的。因为当wifi打开时,mbp即使是在休眠的时候依然会保持后台一些消息通知等的连接,以及相关应用的网络唤醒。阻断wifi连接的方式依然是两种:自动和手动。
    这里主要说说自动。
    自动的方式分为两种:

通过修改系统相关设置实现休眠时wifi的阻断

针对旧版本,网上一直流传的一个解决方法(针对2015年以前的mbp)

1. 重启 mbp,在启动的时候按住 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. 把 TCPKeepAliveDuringSleep 修改为 false, 然后保存    
<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 来查看修改后的状态。

针对最新的10.13.2,经人测试一下方法可行,我自己也亲测了下,有一定效果。

$ pmset -g custom #默认是 1 ,打开状态
$ sudo pmset -b tcpkeepalive 0 #设置为关闭

通过脚本关闭wifi代替手动关闭

脚本方法并未过多研究,主要怕搞坏了更不知道怎么办。仅供参考:
https://github.com/wujunchuan/wujunchuan.github.io/issues/9
https://bbs.feng.com/read-htm-tid-11324251.html

个人总结

最新版系统实践自动的第二种方法,掉电效果有所下降。但因有蓝牙耳机总是开着蓝牙,所以还需要自己关闭蓝牙。
总之:

  1. 关闭一些非必要的或耗电的软件(活动监视器可查看),甚至寻求替换同类软件(chrome似乎非常耗电,但中毒用户不忍割舍,如此情况除外)
  2. 不嫌麻烦可手动关闭蓝牙和wifi,蓝牙必关
  3. 期待苹果爸爸有所优化
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @lxxself! You received a personal award!

1 Year on Steemit

Click here to view your Board

Do not miss the last post from @steemitboard:

SteemWhales has officially moved to SteemitBoard Ranking
SteemitBoard - Witness Update

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @lxxself! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!