ArchLinux 休眠到交换文件
💡
原文中文,约4800字,阅读约需12分钟。
📝
内容提要
Linux 通过交换分区实现休眠,首先冻结进程并将内存写入交换空间。启动时,initramfs 加载上次状态。需创建足够大的交换文件并配置内核参数,自动休眠可通过 systemd-logind 等工具实现,支持多种电源管理功能。
🎯
关键要点
- Linux 通过交换分区实现休眠,冻结进程并将内存写入交换空间。
- 启动时,initramfs 加载上次状态,需创建足够大的交换文件并配置内核参数。
- 挂起是冻结进程并保留内存,休眠是将内存写入磁盘并关机。
- 可以使用交换文件替代交换分区,创建交换文件前需确定所需空间。
- 设置 resume 和 resume_offset 内核参数,告知内核内存写入位置。
- initramfs 需配置以加载休眠内存,需添加 resume 钩子并重新编译。
- MacBook Pro 默认盖子开着会阻止挂起,可通过修改 /proc/acpi/wakeup 设置。
- 自动休眠可通过 systemd-logind 等工具实现,支持多种电源管理功能。
- 无操作自动休眠需桌面环境或 X11 软件支持,使用 xss-lock 等工具。
- 电量低时自动休眠可通过 udev 规则实现,需安装 tlp 服务。
➡️