MacOS 休眠模式杂谈

本文我们来聊聊 macOS 的休眠模式,有人肯定说了这有啥好聊的就是休眠呗合上盖就休眠,打开就唤醒,呵呵,其实我在这里只是想为大家传播一些 macOS 休眠工作机制的基础知识,有些功能细节我觉得还是很有用处的。

macOS 休眠机制

首先你要知道 Mac 的 Sleep Mode 在 macOS 系统里有一个准确的叫法是 HibernateMode ,它有三个值:0、1、3

Mode:0

当 HibernateMode 的值为 0 时 ,设备里除了 RAM(内存)外,键盘,显示器,鼠标等所有内外工作模块都会断开电源(或电池供应),此时系统不会将内存的数据写入硬盘,如果到设备被再次唤醒之前,电源线一直接入或者电池电量足够,那么用户在开盖后可立刻唤醒 Mac。

这种模式的优点明显,它不会向硬盘写数据,也就是设备在深度睡眠(一般成为休眠)时不会产生内存镜像,即能减少硬盘的占用率,也能让唤醒操作立刻完成。但请注意,许多事情有优点也有缺点,那就是当设备处于睡眠过程中时,电源线没插上,电池电量耗尽,那内存的供电就会自动中断,内存里保存的数据也会自动清除。macOS 系统自身默认没有选择它。

Mode:1

当 HibernateMode 的值为 1 时,设备里所有模块均断电,内存数据被全部写入硬盘,硬盘里有一个专门负责“休眠”的内存镜像文件,当设备从“休眠”中恢复时,会自动调用保存好的内存镜像文件,将数据重新写回内存中,受硬盘的输入输出速率影响,这个过程会很漫长,所以许多朋友会在唤醒时看到屏幕里有进度条,千万别认为你的设备硬件不够用了,该换电脑了,别听奸商的忽悠,Mac 的产品寿命可比手机长多了,回到正题,在数据被完全写回内存后,Mac 才能被完全唤醒。这种模式优点明显,无需单独为内存供电,内存的数据不容易被丢失,缺点就是唤醒时间较长。

Mode:3

第三项值就是 macOS 默认选择的,这种状态下也叫:“Safe Sleep”,人们还叫她是“混合休眠模式”,这种模式结合了前两种模式的长处,设备进入睡眠后,内存仍然保持供电,但仍然会将数据写入硬盘,这样内存的数据就同时被保存在两个硬件模块里,如果在唤醒时,设备电量充足(或够用),那 Mac 就会像 Mode 0 一样快速被唤醒,如果唤醒操作前,设备电量已不足了或者已经被耗尽,此时插上电源线后,系统会自动从硬盘里的内存镜像文件中恢复内存,而唤醒过程和 Mode 1 一样慢。这种模式优缺点就不用再用我说了吧,非常灵活。

从日常使用需求上看如何调整休眠机制

如果你的设备经常处于家中或办公地点内,插上电源线从来不放,那么完全可以选择 Mode 0,后面我们会介绍如何修改 HibernateMode 的值,而如果你经常出差或者背着本到处跑,那就选择 Mode 1,宁愿让唤醒过程慢也要保证电量的充足和数据的安全啊。

修改 HibernateMode 的值

需要在终端里执行以下命令

1
$ sudo pmset -a HibernateMode 0

这样改为 Mode 0 后,系统就不会进入“休眠”模式了。

如果是只想查看当前的睡眠机制参数,可执行命令:

1
$ pmset -g

本文转载自 MacOS X休眠模式杂谈,有删改。