补充说明
pm-hibernate 属于 pm-utils 套件,位于 /usr/sbin/pm-hibernate,作用是把系统状态写入交换分区后关机,下次开机从磁盘恢复。它通过内核的 swsusp 机制实现,需要交换空间不小于内存用量,并在启动参数中正确配置 resume=。
pm-utils 在现代发行版中已基本被 systemd 取代,很多系统默认不再安装。对应的 systemd 命令是 systemctl hibernate,日志可用 journalctl -u systemd-hibernate.service 查看。若 /sys/power/state 中没有 disk,说明内核或固件未提供休眠支持。
pm-utils 的行为由 /etc/pm/config.d/ 中的变量和 /usr/lib/pm-utils/sleep.d/ 下的钩子脚本控制,不同硬件兼容性差异较大。执行需要 root 权限,休眠前应保存工作,并确认交换分区或交换文件足以容纳内存。
语法
pm-hibernate [--help]
实例
# 立即休眠到磁盘
sudo pm-hibernate
# 确认内核支持哪些睡眠状态(应包含 disk)
cat /sys/power/state
# 查看交换空间是否足够
swapon --show
free -h
# 现代系统上的等价操作
systemctl hibernate
# 排查失败的休眠过程
journalctl -b -u systemd-hibernate.service