1. 前言
无意中发现mbp m1待机耗电异常,一晚上待机耗了百分之8的电。
pmset -g stats
查到了数百个唤醒。
经过查询资料和实践,发现m1的macbook不支持”启用电能小憩”,而有”唤醒以供网络访”这个选项,非常具有迷惑性,听起来很像「启用电能小憩」,但是两者并没有什么关系!
“唤醒以供网络访”正确的含义是:休眠被访问则可以唤醒提供服务。比如网络共享。
2. 解决办法
2.1 执行命令查看电源设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| pmset -g custom
Battery Power: ##电源模式下的配置 Sleep On Power Button 1 ##点击电源按钮休眠 lowpowermode 1 ##启用省电模式,用电池的时候 standby 1 ##允许把内存写入硬盘,全部断电 ttyskeepawake 1 ##当被命令远程连接的时候,不休眠 hibernatemode 3 ##混合休眠模式:一开始内存不断电,超时后写入磁盘,断电 powernap 1 ##耗电元凶,默认是始终打开的状态,就是电池小憩!! hibernatefile /var/vm/sleepimage displaysleep 30 #30分钟后关闭屏幕,系统设置可修改 womp 0 ##这个是唤醒以提供网络访问 networkoversleep 0 sleep 1 ##允许休眠 lessbright 0 ##屏幕调暗 tcpkeepalive 1 ##休眠的时候保持网络 disksleep 10 ##硬盘休眠 SleepServices 0
|
耗电元凶1:powernap
默认是始终打开的状态,就是电池小憩。
耗电元凶2(不建议关闭):tcpkeepalive
休眠时保持网络,与”唤醒以提供网络访问”不是一个东西,关闭会导致find my mac
失败
2.2 关闭
在电池供电下关闭小憩
1
| sudo pmset -b powernap 0
|
在电池供电下彻底干掉网络(不建议,会导致find my mac失效)
1
| sudo pmset -b tcpkeepalive 0
|
2.3 检查是否关闭
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| pmset -g custom
Battery Power: Sleep On Power Button 1 lowpowermode 1 standby 1 ttyskeepawake 1 hibernatemode 3 powernap 0 ##成功关闭 hibernatefile /var/vm/sleepimage displaysleep 30 womp 0 networkoversleep 0 sleep 1 lessbright 0 tcpkeepalive 1 disksleep 10 SleepServices 0
|