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 服务。
➡️

继续阅读