计算中的「休眠」(或挂起到磁盘)指的是“关闭计算机,同时保持其状态”。休眠时,计算机将RAM的内容保存到非易失性存储设备中。恢复后,计算机与进入休眠状态之前完全一样。
以下三者都称之为“休眠到硬盘”(suspend-to-disk)。
在Linux内核中,休眠由swsusp实现,它内置于2.6系列中。
另一种实现是TuxOnIce,它可以作为3.4版本内核的补丁。TuxOnIce提供诸如支持对称多处理和抢占的优点。
另一个替代实现是uswsusp。
安装pm-utils软件包,因为要用到其中的pm-is-supported命令:
#!/bin/sh pm-is-supported --hibernate echo $?如果状态值为“0”,则表示支持休眠。
系统休眠(systemctl hibernate)时,”计算机将RAM的内容保存到非易失性存储设备中”,“非易失性存储设备”通常是SWAP分区。
为什么说是SWAP分区? 因为在执行systemctl hibernate进行休眠时,我遇到了一个错误“Failed to hibernate system via logind: Not enough swap space for hibernation”错误提示…………调整了SWAP分区的大小后,系统可以进行正常休眠动作。
如果你使用的是systemd服务,那可以修改/etc/systemd/logind.conf文件,在[Login]部分添加如下行:
HandleLidSwitch=hibernate HandleLidSwitchExternalPower=hibernate HandleLidSwitchDocked=hibernate然后,重启systemd-logind.service服务(systemctl restart systemd-logind.service)。!!!这会退出所有登录会话!!!
参数的含义如下:
HandleLidSwitch - 盖子关闭时触发,下面的两种情况除外。 HandleLidSwitchExternalPower - 如果系统连接到外部电源,则在盖子关闭时触发。 HandleLidSwitchDocked - 如果系统插入扩展坞,或者连接了多个显示器,则在盖子关闭时触发。
可以根据自己的需要设置不同的值,取值有:ignore, poweroff, reboot, halt, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, lock, kexec。
# TODO 与Linux休眠有关的必读文章Hibernate feature in Linux
Simple Hibernate with Arch LinuxHibernate laptop on lid close with systemd-boot on Arch Linux
Power managementPower management/Suspend and hibernate
What happens when you try to hibernate but there is not enough swap available?
HibernationHibernationHibernate_Without_Swap_Partition
have to reload ath_pci after suspend+resumeDebuggingKernelHibernate
# TODO 系统休眠错误,Failed to write /sys/power/state: Device or resource busy # May 04 21:31:21 laptop systemd-sleep[18403]: Failed to write /sys/power/state: Device or resource busy # 有人遇到过相同的错误:「[SOLVED] Unable to initiate suspend to ram」。实际上也没有解决,靠升级降级的方式来处理这个问题。还有重新安装系统的……………… # 使用journalctl -f -u systemd-hibernate.service来查看休眠日志。
K4NZ / 休眠(Hibernation)Wikipedia/Hibernation (computing)ArchLinux/Power management/Suspend and hibernateWhat is the difference between Hibernate and SuspendWhat happens when hibernating Linux while running from a live disc?