睡眠模式—hibernatemode—也就是Mac在睡眠模式下面的工作方式,目前主要有3种。
hibernatemode 0:睡眠时内存保持供电,其他部件断电,内存数据不写入硬盘。优点是可以快速唤醒、快速睡眠,因为内存保持供电,无论是唤醒还是进入睡眠都是1秒内的事情;节省SSD空间和寿命,因为内存数据不写入硬盘,所以硬盘里不会有内存镜像,也不会缩短SSD寿命。但是如果在睡眠的过程中电池没电的话,Mac会丢失所有内存种的数据,数据安全性不是很高。
hibernatemode 1:睡眠时内存数据写入硬盘,写入完成后电脑所有部件都断电,唤醒时从硬盘读出内存镜像。优点是省电,跟关机的耗电一样,因为所有部件都已经停止工作,也不怕电池没电会丢失内存数据。但是缺点也很明显,进入睡眠和唤醒需要的时间长,对于机械硬盘的Mac尤其明显,通常都要转菊花十几圈。对于SSD的Mac则会占用硬盘空间,因为硬盘上有跟内存同样大小的内存镜像,也会缩短SSD寿命。
hibernatemode 3:0和1的结合,睡眠时内存数据写入硬盘,同时保持内存供电。这个模式也叫Safe Sleep,是Mac的默认睡眠模式。
更改hibernatemode方式:打开“终端”,输入: sudo pmset -a hibernatemode 0
在终端输入:pmset -g custom 这个命令可以显示系统所有的电源设置(更详细的介绍请看Apple开发者文档):
Battery Power就是用电池时的电源设置,AC Power就是外接电源时的电源设置。
lidwake: 当屏幕掀开的时候唤醒Mac,1是开启 0是关闭
autopoweroff: 如果Mac处于睡眠状态经过指定的时间后,自动把内存数据写入硬盘,并切断所有部件的电源,进入休眠状态,1是开启 0是关闭。但是LZ发现就算是处于开启状态,这个功能也并没有起作用,你可以不管它,也可以关掉
autopoweroffdelay:启用autopoweroff功能的时间,也就是上面说的那个“指定的时间”,单位是秒
standby:功能跟autopoweroff一样,不过仅在hibernatemode为3的时候起作用,1是开启 0是关闭。不过LZ一直没搞明白autopoweroff跟standby有什么不一样,按理说应该是不一样的
standbydelay:启用standby功能的时间,单位也是秒
ttyskeepawake:远程用户正在活动时防止Mac进入睡眠,1是开启 0是关闭
hibernatemode:睡眠模式
darkwakes:这个就是Power Nap,你可以在系统偏好设置里选择开或关,跟在这里设置是一样的,1是开启 0是关闭
hibernatefile:内存镜像存放的地址,这个也可以更改,不过路径必需是root下的路径
displaysleep:Mac闲置多长时间后进入显示器睡眠,2013款Air的系统偏好设置里已经没有这个选项了,Pro是有的,不过其实你可以通过pmset来修改。单位是分钟,这个时间不能长于sleep下设置的时间
sleep:Mac闲置多长时间后进入睡眠,这个系统偏好设置里也有,单位是分钟
acwake:电源改变时唤醒,也就是插上或者拔掉外置电源时唤醒Mac,1是开启 0是关闭
halfdim:显示器睡眠时使显示器亮度改变为当前亮度的一半,1是开启 0是关闭。如果关闭这个功能的话,显示器睡眠会直接关掉显示器。
lessbright:使用电池时使显示器亮度暗一点,系统偏好设置里也有这个,1是开启 0是关闭
disksleep:Mac闲置多长时间后关闭硬盘。这个系统偏好里也有,只不过换了一个字眼—如果可能,使硬盘进入睡眠—勾上这个的话系统就会自动根据sleep的时间设一个合适的时间。单位是秒,这个时间不能长于sleep下设置的时间
sleepservice:LZ还没搞清楚这个是干嘛的,请知道的锋友解释下。
womp:网络远程唤醒,1是开启 0是关闭
networksleep:这个设置影响Mac在睡眠的过程中如何提供网络共享服务
更改某一项设置的话也很简单,打开终端,按下面的格式输入命令:
sudo pmset -# $ &
其中#号有4个参数,分别是:c b u a,作用是表明这个命令修改的是哪个电源设置下的参数。c代表外接电源、b代表电池、u代表UPS、a代表所有电源。
$就是具体的某一项参数,例如你想修改睡眠模式,那就是hibernatemode;修改睡眠闲置时间,是sleep。
&是参数的值
例如你想修改外接电源是Mac的显示器睡眠闲置时间为10分钟,那就输入:
sudo pmset -c displaysleep 10
想修更改所有电源下的硬盘睡眠闲置时间为15分钟,那就是:
sudo pmset -a disksleep 15