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点半的睡眠期间,系统没有任何活动日志记录。

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

我的结论

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

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

4、方案出处

v2ex论坛:https://www.v2ex.com/t/361578#reply5。

感谢@liul85 。

MacBook Pro休眠掉电、耗电量大问题解决方案的更多相关文章

  1. Mac Pro 2015休眠掉电解决办法

    硬件:Mac Pro 2015 系统:MacOs Mojave 10.14.3 问题:合盖的时候,休眠1小时掉电10%,由于之前是128G原装盘不会有这个问题,后面购买了M.2转接卡,更换1T Int ...

  2. mac休眠掉电快,更改休眠模式

    打开终端输入: $ pmset -g 查看休眠模式 hibernatemode 发现值为3, 这是大多数的设置,如果为0 ,那么休眠时严重掉电, 我们可以改变这个模式: $ sudo pmset -a ...

  3. USB设备(移动硬盘、鼠标)掉电掉驱动的两种解决方案

    症状: 当你发现"移动硬盘图标"经常无故消失,又自己出现时. 你可以把这个现象称之为"掉电" or "掉驱动". 遇到这种情况,相当不爽. ...

  4. MacBook Pro App Store无法下载和更新软件解决方案

    环境:MacBook Pro 2017 系统:MacOS 10.14 问题:在App Store中无法下载和更新软件,输入App Store密码后,弹出如下对话框 咨询苹果官方技术支持电话:400-6 ...

  5. 掉电后osdmap丢失无法启动osd的解决方案

    前言 本篇讲述的是一个比较极端的故障的恢复场景,在整个集群全部服务器突然掉电的时候,osd里面的osdmap可能会出现没刷到磁盘上的情况,这个时候osdmap的最新版本为空或者为没有这个文件 还有一种 ...

  6. 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记

    新的2016MBP终于发布了,作为把苹果电脑装WIN使用的人,等候很久之后,终于可以行动了. 黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ ...

  7. 列举一些 MacBook Pro 必需的外设和应用程序推荐

    来源:知乎 文章收录于:风云社区SCOEE,提供上千款mac软件下载 基于从事Apps设计或开发者,使用 MacBook Pro,以下罗列一些必需的外设和应用程序推荐. Retina 256GB SS ...

  8. Yosimite 系统 “发生意外错误(错误代码-50)” (记一次macbook pro(mid2012) 自主维修排错经历)

    电脑型号: Macbook Pro(Mid 2012)   A1278 问题描述: 上周,电脑偶尔弹出提示框"发生意外错误(错误代码-50)",弹出这个提示之后硬盘好像变成只读模式 ...

  9. fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源

    最近,最引人瞩目的莫过于 Apple 产品发布会,MacBook Pro 的更新可能是四年来变化最大的一版.除了更轻.更薄.性能更好.电力更足之外,最大的变化是加入了Touch Bar,被定义为 Ma ...

随机推荐

  1. 笔记-JavaWeb学习之旅4

    JDBC: 概念:Java DataBase Connectivity Java 数据库连接,Java语言操作数据库 本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口,各个数 ...

  2. 基于php的AWS存储服务

    近几天用到了aws的s3存储服务,公司内部的完全兼容aws并对其进行了封装,之前也用过,现在把经验总结一下. 既然要用,首先需要安装sdk,下边提供了几种安装方法 方法一:使用composer安装 1 ...

  3. 多线程:『GCD』详尽总结

    本文用来介绍 iOS 多线程中 GCD 的相关知识以及使用方法.这大概是史上最详细.清晰的关于 GCD 的详细讲解+总结的文章了.通过本文,您将了解到:1. GCD 简介2. GCD 任务和队列3. ...

  4. Java中try catch finally语句中含有return语句的执行情况

    finally块中的内容会先于try中的return语句执行,如果finall语句块中也有return语句的话,那么直接从finally中返回了,这也是不建议在finally中return的原因.下面 ...

  5. 关于foreach的一个BUG

    foreach用起来比for更方便,但是foreach隐藏的操作,可能带来更多未知的BUG,今天就遇到一个问题.编程环境VS2010 //使用foreach遍历,其中未改变item的值,但是使用了匿名 ...

  6. 错误之Illegal mix of collations for operation 'like'

    内容来自博客:https://www.cnblogs.com/install/p/4417527.html MySQL Illegal mix of collations for operation ...

  7. Less学习(2)(完结)

    七.模式匹配与Guard表达式 根据传入参数的不同,引入不同的属性集. .mixin (dark, @color) { color: darken(@color, 10%); } .mixin (li ...

  8. 51nod 1640 天气晴朗的魔法 二分 + 克鲁斯卡算法(kruskal算法) 做复杂了

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1640 一开始想的时候,看到要使得最大值最小,那这样肯定是二分这个最大值了 ...

  9. C#操作Windows用户

    首先需要引入System.DirectoryServices.dll using System; using System.Collections.Generic; using System.Dire ...

  10. linux 下vim中关于删除某段,某行,或全部删除的命令

    1,先打开某个文件: vim   filename 2,转到文件结尾 在命令模式输入 G 3,转到10行 在命令模式输入 10G 4,删除所有内容:先用G 转到文件尾,然后使用下面命令: :1, .d ...