zoukankan      html  css  js  c++  java
  • MacBook Pro休眠掉电、耗电量大问题解决方案

    1、前言

    最近我的2015mbpMacBook Pro (Retina, 13-inch, early 2015)更新完10.14系统后,发现休眠待机一晚上后能掉5%电,白天待机4-5小时又掉了8%。然而在此之前我记得休眠是几乎不怎么掉电的,所以在网上搜索了一下,后来找到了大佬的一些解决方案(认为可能是休眠时网络仍保持活跃导致)。其中的一种的成功评论比较多,大家可以试一试。

    2、解决方案

    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. TCPKeepAliveDuringSleep 修改为 false, 然后保存。

    若系统是catalina 10.15,系统会提示是只读文件,无法修改。具体解决方案请看下面第3点~

    1. 重启 mac,按照第 1,2 步进入 recovery 模式,开启 SIP,csrutil enable
    2. 正常重启 mac,就可以了。可以用这个命令 ioreg -l | grep IOPlatformFeatureDefaults 来查看修改后的状态。
        <key>TCPKeepAliveDuringSleep</key>
        <false/>
        <key>NotificationWake</key>
        <false/>
        <key>DNDWhileDisplaySleeps</key>
        <true/>
    

    此文博客:http://www.cnblogs.com/toulanboy/

    3、Catalina 修改系统文件

    这次更新的10.15把所有的系统文件单独分到了一个卷宗,即使禁用了SIP,修改文件也还会是只读。 但是修改还是可以,只是麻烦多了一步。禁用SIP后,需要在终端执行

    sudo mount -uw /
    

    然后就可以修改文件夹的读取权限,再进行修改,需要注意的是,重启电脑会失效,下次修改还要重复上面的操作。

    来源:macOS 10.15 Catalina 禁用新版SIP防护 修改系统文件。 感谢@威風堂々

    4、自我测试

    测试环境

    Macbook pro 2015, 系统是最新的10.14。

    测试方案

    凌晨一点合上盖子,早上7点半打开盖子。观察电池的变化量。

    测试结果

    1. 凌晨一点电量是98%,早上7点半打开盖子是96%,6个半小时掉了2%。

    2. 下面图是console控制台的System.log,可以看到凌晨1点-7点半的睡眠期间,系统没有任何活动日志记录。

      WX20181025-072729@2x.png

    3. 下面图是Activity monitor活动监测器显示的电池状态,可以看到凌晨1点-7点半的睡眠期间,这段时间没有电量变化记录。

      WX20181025-073100@2x.png

    我的结论

    由于没有好坏的对比标准,故从我只能从我自身设置前后的电量掉量进行对比。通过设置后,掉电量从5%降到2%,而且从系统工具来看,感觉是确实是睡眠了,并没有电量变化和日志记录。所以综上所述,这个方案应该是可行的。

    这个5%的睡眠时间段并没和2%的一样。所以分析只是个大概,并不严谨的。

    4、方案出处

    v2ex论坛:https://www.v2ex.com/t/361578#reply5。
    感谢@liul85 。

  • 相关阅读:
    二分查找binarySearch
    快速排序quicksort实现方法
    读书清单
    windows 下遍历文件夹
    如何输出 android.mk 及 Application.mk 中个变量的值
    【转】 armeabi与armeabi-v7a
    Application.mk
    【转】TypeError: 'module' object is not callable 原因分析
    User breakpoint called from code at XXX的解决方式记录
    关于溢出的一些体会
  • 原文地址:https://www.cnblogs.com/toulanboy/p/9839272.html
Copyright © 2011-2022 走看看