iwtbauh
2019-06-02 11:12:12 +08:00
常见的休眠有 3 种
挂起
蛰伏
混合挂起
挂起:将状态保存到 RAM,然后停止工作,这又产生了 3 种不同的挂起
挂起到 idle
通电挂起(浅度挂起)
挂起到 RAM (深度挂起)
并非所有平台都支持所有的模式。挂起到 idle 支持全部平台。
挂起到 idle:纯软件的挂起,仅冻结用户应用程序
通电挂起(浅度挂起):CPU 保持功率,冻结用户程序,然后挂起外设或将外设至于低功耗状态。
挂起到 RAM (深度挂起):冻结用户程序,冻结非启动 CPU,挂起外设或将外设至于低功耗状态,然后 BIOS (或系统固件)接管机器控制权。
蛰伏:蛰伏的前提是能“挂起到 RAM (深度挂起)”,然后将状态写入硬盘。下次从硬盘恢复。
混合挂起:同时“挂起到 RAM (深度挂起)”和写入硬盘,若机器没有断电,则从 RAM 恢复,否则从硬盘恢复。这能大大提高恢复速度。
你需要的是“蛰伏”。
要配置蛰伏,必须让内核知道从哪里恢复状态。配置引导程序并给内核传递 resume 选项。(类似于 root 选项的格式,可以用 /dev/xxx 或者 uuid )指定 swap 分区。
传递 shutdown 到 /sys/power/disk,然后传递 disk 到 /sys/power/state 开始蛰伏
更多信息阅读内核文档。
另外,“蛰伏”依赖硬件的支持,因此在某些硬件上会出现问题,若出现问题,你应该尝试配置 BIOS、升级 BIOS 版本等。若不能解决的话从网络上查找解决方案。
此外,强烈建议大于 RAM 的 swap 分区以避免蛰伏失败。