我是13寸的18款带touchbar的MBP,盒盖后耗电快的问题买回来就一直存在。昨天晚上睡前MBP还有80%的电,手动进入睡眠模式盒盖,第二天起床后直接电量耗光关机了。于是研究了一下究竟是电池的问题还是系统设置的问题,问题得到了解决。主要用了如下的3个方法,没有控制变量逐个测试,直接全怼上了,效果显著。
1、拔掉某宝买的typec拓展坞
log show --predicate 'eventMessage contains "Wake reason"' --start "2019-05-05 20:00:00”
在终端用上面的指令可以查看是否有应用程序唤醒了我们的电脑。我这边电脑基本1s会被唤醒2到3次,并且显示的进程是AppleACPIPlatform,wake reason:EC.USBC (Maintenance),所以考虑有可能是拓展坞一直插着的原因。
2、修改pmset的sleep参数的值
pmset -g custom
终端输入上面的指令可以查看pmset的参数,如下:
其中:
sleep为Mac闲置多长时间后进入睡眠,这个系统偏好设置里也有,单位是分钟;
displaysleep为Mac闲置多长时间后进入显示器睡眠,单位是分钟,这个时间不能长于sleep下设置的时间;
disksleep为Mac闲置多长时间后关闭硬盘。这个系统偏好里也有,只不过换了一个字眼—如果可能,使硬盘进入睡眠—勾上这个的话系统就会自动根据sleep的时间设一个合适的时间。
这里sleep必须大于或等于其余两个参数的值,否则每次睡眠之后都会被屏幕或硬盘唤醒。我这里把sleep修改成了20。
3、修改pmset的hibernatemode
hibernatemode一般不建议修改,如果要修改只建议改为0、3或25。
hibernatemode = 0 台式机默认支持。系统将不会备份内存到持久化存储。系统必须从内存内容中唤醒;当断电时系统将会失去上下文。这是传统的普通睡眠方式。
hibernatemode = 3 便携式计算机默认支持。系统将存储一份内存的备份到持久化存储(磁盘)中,并且在睡眠过程中持续给内存供电。系统将从内存中被唤醒,除非断电才强制从磁盘镜像会恢复。
hibernatemode = 25 只能通过 pmset 才可以设置。系统将存储一份内存的备份到持久化存储(磁盘)中,并且将会给内存断电。系统将从磁盘镜像中恢复。如果你希望“休眠”——慢一点但是有益电池寿命,你应该使用这个设置。
我修改成了25,修改方式为终端输入指令:
sudo pmset -b hibernatemode 25
4、总结
其实我感觉罪魁祸首还是某宝的拓展坞,因为我是手动让电脑睡眠的,不会存在2中的时间冲突的情况。