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. 花花的森林(倍增,LCA

    花花的森林,嗯,这是一篇正经的题解. 模拟考的时候没有看出来要怎么求啊,暴力地树形DP.换根.合并.求直径.居然也险险地拿到了80分,不过我们要正经地想正解. 容易想到我们可以让时光倒流,让空间扭转, ...

  2. [题解](区间质数筛)POJ_2689 Prime Distance

    区间筛素数:先筛出1~sqrt(R)的素数,然后对于每个询问只要用这些素数筛掉区间内的合数即可. 几个细节:1.特判和1有关的一些情况 2.每次减去L偏移量,数组只开区间大小 3.POJ无法使用万能头 ...

  3. 浅谈算法——AC自动机

    在学习AC自动机之前,你需要两个前置知识:Trie树,KMP 首先我们需要明白,AC自动机是干什么的(用来自动AC的) 大家都知道KMP算法是求单字符串对单字符串的匹配问题的,那么多字符在单字符上匹配 ...

  4. Codeforces Round #396 (Div. 2) D

    Mahmoud wants to write a new dictionary that contains n words and relations between them. There are ...

  5. 关于JavaDate数据返回到前端变数字的问题(并引申到前后端时间的传输)

    不知道为什么,前端显示的所有数据项都没有错,就只有时间那一项很奇怪,是一串数字,而且这个数字在数据库怎么都找不到…… 然后我在后端从service到controller都debug了一遍,发现数据都没 ...

  6. 关于Winform控件调用插入点(光标)的用法

    我们自定义控件中可能会有一些光标的使用,比如插入文字和图片提示,下面是调用WIN32 API的光标用法 Winform控件调用插入点的用法 // 导入处理光标的 Windows 32 位 API // ...

  7. mongodb 上限集合

    上限集合是固定大小的循环集合按照插入以支持高性能的创建,读取和删除操作.通过循环,这意味着,当分配给该集合中的固定大小要用尽时,它会开始删除集合中最旧的文件而不提供任何明确的命令. 上限集合限制更新, ...

  8. 状态模式和php实现

    状态模式: 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类.其别名为状态对象(Objects for States),状态模式是一种对象行为型模式. 模式分析: 在很多情况下, ...

  9. vue之导入Bootstrap和Jquery

    Vue引入bootstrap主要有两种方法 方法一:在main.js中引入,此方法导入的bootstrap中对于html,body的一些预设置的css样式可能无效. 一.引入jQuery 在当前项目的 ...

  10. Django模板导入及母版继承和自定义返回Html片段

    1.ROOT_URLCONF = '总路由所在路径(比如untitled.urls)'<===默认情况是这样 根路由的路径是可以修改的:ROOT_URLCONF = app01.urls< ...