Answers:
OS X仅具有一个“睡眠”选项。你不能改变它的名字,而是要改变自己的行为,我用的是旧版本的的SmartSleep上的Mac mini(虽然在MacBook般的“睡眠与休眠”模式)。它仅适用于mini,尽管该网站仅指MacBook。
(当我在2009年撰写此书时,SmartSleep仍然免费。)
我偶尔会抱怨硬件没有被正确删除(但是OS X从来没有告诉我什么硬件,而且我的Time Machine USB磁盘似乎还不错-我应该有一天偷看日志,我认为这与OS X有关,而不是至SmartSleep)。
我已经在该mini(Intel;运行10.5)上快速测试了SmartSleep的“仅休眠”,它似乎也可以正常工作。在进行这些测试时,我注意到在显示屏变黑之后,电源指示灯会开始闪烁几秒钟(就像表明睡眠而不是冬眠)。也许那时它还在向磁盘写入RAM。(直到现在,我一直认为MacBook上的脉动表明一切都已完成。但是现在我认为,无论使用哪种睡眠模式,都不应太早拔掉电源)。片刻之后,它会完全关闭电源。
在2006年,Macworld 解释了在没有SmartSleep首选项窗格的情况下如何实现相同的目的。要检查当前设置:
pmset -g | grep休眠模式
根据Macworld的旧文章,以下内容适用,但请务必阅读Lauri的答案,该答案表明,如今只能使用0、3和25代替:
- 0-旧式睡眠模式,睡眠时打开RAM,禁用安全睡眠,并具有超快唤醒功能。
- 1-休眠模式,RAM内容写入磁盘,“休眠”时系统完全关闭,并且由于从硬盘驱动器中读取RAM内容,因此唤醒速度较慢。
- 3-自2005年秋季以来引入的计算机上的默认模式。RAM在睡眠时打开电源,但RAM内容也将在睡眠前写入磁盘。万一总功率损耗,系统将自动进入休眠模式。
- 5 —与模式1相同,但适用于使用安全虚拟内存的用户(在系统偏好设置»安全性中)。
- 7 —与模式3相同,但适用于使用安全虚拟内存的用户。
并且相同的数字可用于更改睡眠模式设置:
须藤pmset -a hibernatemode 1
我编写了一个脚本,该脚本可让您立即进入休眠状态(而无需永久更改设置)。我觉得它非常有用,因为我喜欢默认设置,但是想在旅途中强行进入休眠状态。也许其他人也会发现它有用;-)
#!/bin/bash
# Utility to force your mac immediately into hibernation mode/suspend to disk,
# thus conserving battery considerably (at the cost of slower startup)
# @date 2012-02-10
# @author Carl-Erik Kopseng. Contact at oligofren.wordpress.com
# must be run as root by using sudo or to avoid entering the password, change the pmset
# executable settings by entering
# sudo chmod +s /usr/bin/pmset
# sudo chmod +s /sbin/shutdown
MODE_BACKUP=/tmp/hibernate_mode.bak
SUSPEND_TO_DISK=25 #see man pmset
display_settings() {
echo "Current settings: " $(pmset -g | grep hibernatemode)
}
save_settings() {
echo "saving settings"
pmset -g | grep hibernatemode | awk '{print $2}' > $MODE_BACKUP
}
restore_settings() {
echo "restoring settings"
pmset -a hibernatemode $(cat $MODE_BACKUP)
}
set_only_disk_hibernate() {
echo "changing settings to only suspend to disk (slow, but does not use battery)"
pmset -a hibernatemode $SUSPEND_TO_DISK
}
hibernate() {
echo "going into hibernation"
shutdown -s now
}
save_settings
set_only_disk_hibernate && hibernate
restore_settings
如果要从菜单栏(“ systray”)调用此脚本,我将:
/usr/local/sbin/
)。现在,您可以通过单击菜单栏-> AppleScripts->休眠来触发脚本
shutdown -s now
不会立即生效?
pmset手册页还建议使用25
代替1
。
0000 1000(位3)鼓励动态寻呼机在休眠之前分页不活动的页,以减少内存占用。
0001 0000(位4)鼓励动态寻呼机在休眠之前更积极地进行寻呼,以减少内存占用。
我们不建议修改休眠设置。您所做的任何更改均不受支持。如果您仍然选择这样做,我们建议您使用这三种设置之一。为了您和我的利益,请不要使用0、3或25以外的任何符号。
[...]
只能通过pmset设置hibernatemode = 25(二进制0001 1001)。系统会将内存副本存储到永久性存储(磁盘)中,并切断内存电源。系统将从磁盘映像还原。如果要“休眠”-更慢的睡眠,更慢的唤醒和更长的电池寿命,则应使用此设置。
现在,某些笔记本电脑会在经过大约一个小时的正常睡眠后进入休眠状态(待机模式),如果:
笔记本电脑,Mac mini和iMac处于关闭或休眠状态时,大约使用0.2-0.4 W;在睡眠模式下,则使用0.8-1.4W。休眠(以及笔记本电脑默认使用的休眠+睡眠模式)也可能会缩短驱动器的使用寿命。
对于OS X Lion,它更适合休眠
sudo pmset -a休眠模式25
比
须藤pmset -a休眠模式1
因为休眠模式1可能由于某些原因导致崩溃。
对。这就是所谓的安全睡眠。最简单的方法是使用深度睡眠小部件。
我已经读到,所有Intel Mac和某些较新型号的PowerPC机器都默认启用“安全睡眠”功能(我认为Intel mini具备此支持,但PPC可能不支持-没有不受支持的黑客)。
但是,“安全睡眠”本身与“休眠”并不完全相同。这是将RAM保存到磁盘但又进行正常睡眠的一种组合。这样可以实现快速唤醒,并且如果机器在睡眠时碰巧完全断电,还可以保留系统状态。
您可以通过(至少经过一次睡眠后)检查文件/ var / vm / sleepimage来确定系统是否正在使用安全睡眠,该文件与已安装的RAM大小相同。同样,当“安全睡眠”处于活动状态时,在机器状态指示灯开始正常的淡入/淡出循环之前,单击“睡眠”菜单项(或按钮,或按住Command-Option-Eject)之间会有较长的延迟。
解决方案的最后一点是在节省RAM睡眠映像之后使机器完全关闭电源。似乎可以使用命令行程序pmset进行配置,以设置hibernatemode。您可以签出类似Deep Sleep之类的内容,以自动进行此配置更改。
pmset
可以实现相同的目的。