使用交换空间扩展内存或启用休眠¶
用途¶
本指南将带你了解在 BTRFS 文件系统上创建交换文件(swapfile)的步骤,该文件可用于扩展内存或启用休眠。
AeroCore OS Deck 镜像已通过 Handheld Daemon 使用动态交换文件支持休眠(General -> Hibernate)。此外,所有汽核 OS 镜像默认使用 zram 来提供额外内存。
如果你希望用持久化的交换文件替代 zram 以获得更多未压缩内存,或希望通过桌面环境使用休眠,请参考本指南。
创建交换文件¶
首先,为交换文件创建一个子卷。这能确保如果你决定使用快照,交换文件不会被包含其中。你还应修复交换文件目录的 SELinux 上下文。
sudo btrfs subvolume create /var/swap
sudo semanage fcontext -a -t var_t /var/swap
sudo restorecon /var/swap
然后,创建交换文件本身。在本例中,我们创建一个 26GB 的交换文件。同样,你需要修复交换文件本身的 SELinux 上下文。
SIZE=26G
sudo btrfs filesystem mkswapfile --size $SIZE /var/swap/swapfile
sudo semanage fcontext -a -t swapfile_t /var/swap/swapfile
sudo restorecon /var/swap/swapfile
使用以下命令加载交换文件以验证其工作:
添加到 fstab¶
现在,你需要将交换文件添加到 /etc/fstab 以使其持久化:
Attention
编辑 fstab 文件时务必小心,否则你的系统将无法再启动!这种情况下,可使用之前的镜像来启动。
将以下代码行添加到 fstab:
禁用 zram¶
最后,你需要禁用 zram 才能让休眠正常工作。为此,你可以将 zram-generator 的配置文件清空。这能防止汽核 OS 更新时将其恢复。
最后,重启设备以应用上述更改。
撤销更改并恢复 zram¶
要撤销更改并恢复 zram,请先从 /etc/fstab 中移除交换文件条目。然后,通过将原始配置文件复制回来以重新启用 zram: