睡眠模式—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是关闭。 |
autopoweroffdelay | 启用autopoweroff功能的时间,也就是上面说的那个“指定的时间”,单位是秒 |
standby | 功能跟autopoweroff一样,不过仅在hibernatemode为3的时候起作用,1是开启 0是关闭。 |
standbydelay | 启用standby功能的时间,单位也是秒 |
ttyskeepawake | 远程用户正在活动时防止Mac进入睡眠,1是开启 0是关闭 |
hibernatemode | 睡眠模式 |
darkwakes | 这个就是Power Nap,你可以在系统偏好设置里选择开或关,跟在这里设置是一样的,1是开启 0是关闭 |
hibernatefile | 内存镜像存放的地址,这个也可以更改,不过路径必需是root下的路径 |
displaysleep | Mac闲置多长时间后进入显示器睡眠,单位是分钟,这个时间不能长于sleep下设置的时间 |
sleep | Mac闲置多长时间后进入睡眠,这个系统偏好设置里也有,单位是分钟 |
acwake | 电源改变时唤醒,也就是插上或者拔掉外置电源时唤醒Mac,1是开启 0是关闭 |
halfdim | 显示器睡眠时使显示器亮度改变为当前亮度的一半,1是开启 0是关闭。如果关闭这个功能的话,显示器睡眠会直接关掉显示器。 |
lessbright | 使用电池时使显示器亮度暗一点,系统偏好设置里也有这个,1是开启 0是关闭 |
disksleep | Mac闲置多长时间后关闭硬盘。这个系统偏好里也有,只不过换了一个字眼—如果可能,使硬盘进入睡眠—勾上这个的话系统就会自动根据sleep的时间设一个合适的时间。单位是秒,这个时间不能长于sleep下设置的时间 |
sleepservice | |
womp | 网络远程唤醒,1是开启 0是关闭 |
networksleep | 这个设置影响Mac在睡眠的过程中如何提供网络共享服务 |
更改某一项设置的方式:sudo pmset -# $ &
#有4个参数,分别是:c(代表外接电源)、b(代表电池)、u(代表UPS)、 a(代表所有电源)。
$指具体的某一参数。
&是参数的值。
例如:修改外接电源时Mac的显示器睡眠闲置时间为10分钟,那就输入:
sudo pmset -c displaysleep 10