使用 pmset 指令重新设定 Macbook 的休眠设定,减轻 Mojava 之后的系统合盖耗电的情况

2021-04-10 02:20:52 +08:00
 easonl

从升级到 Mojava 系统之后,就发现自己的 Macbook pro 如果在不关机的情况下,直接合上电脑,放置一天之后,掉电很严重,有时候甚至掉到没电,研究了很久,没发现个所以然,但估计是升级到 Mojava 以后,新的 OSX 系统中休眠机制的调整,导致了休眠过程中依然大量耗电。

这里就要讲到 Mac 的默认休眠机制 hibernatemode Mac 电脑的 hibernatemode 有三个值,分别为:0/3/25 通过 pmset -g 指令,我们可以看到 hibernatemode 的当前值。

其中:

hibernatemode 值的定义为:

  • 0:是直接休眠不把内存镜像写入硬盘,唤醒时从内存恢复,是桌面版 mac 的默认设置;
  • 3:是把内存镜像写入磁盘的同时也给内存供电,直到电池临界值。唤醒的时候从内存唤醒,除非内存断电了那就从硬盘唤醒,速度可快可慢,取决于休眠多久,是移动版 mac 的默认设置;
  • 25:是把内存镜像写入磁盘,断开内存供电,唤醒的时候从硬盘读取,速度较慢。

一般来说,桌面 Mac 系统例如 iMac, Mac Mini 等桌面型机器,hibernatemode 默认值是 0,因为是一直通电使用,所以采用了内存保持通电的方式。 而膝上型 Mac 系统,则默认使用 hibernatemode 3,用较为保守的设定。

在 Mojava 之前的系统,我的 MBP 合盖以后,哪怕一周不开机,也只会掉少量的电,大约掉电在 15%-20%左右,但是 Mojava 之后,特别是现在使用 Bigsur,合盖掉电就越来越严重了。这可能变更默认的 hibernatemode = 3 设定有关 ,那么如果我们将休眠机制设定为 25,也就是说合盖以后,在硬盘保存内存镜像,而完全断开内存供电,是不是能减少掉电,尽管这样会牺牲一点启动时间,但我觉得不会慢太多。

OK,根据 pmset 指令的定义,我们只需要执行:

sudo pmset -b hibernatemode 25

其中参数 -b 指的是“在电池状态下的设定”

pmset 命令
-c 调节设定用于连接充电器的时候
-b 调节设定用于使用电池的时候
-u 调节设定用于使用 UPS 的时候
-a 调节设定用于全部情景

我们甚至可以断开休眠后的 wifi 链接,进一步省电。

sudo pmset -b tcpkeepalive 0

经过这样的设定以后,我们在电池供电的过程中,合上 Macbook,则会保存完内存镜像之后,几乎完全断电,连 wifi 都断开,进入最大的省电状态。

3889 次点击
所在节点    MacBook Pro
2 条回复
mankismi
2021-04-10 10:14:17 +08:00
我本身设置完 tcpkeepalive 0 后效果就很显著了~可以先尝试这 再改 mode
IgniteWhite
2021-04-10 15:58:43 +08:00
写的挺好的。
拼写应该是 M o j a v e

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/769618

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX