作者:E4b9a6, 创建:2021-06-15, 字数:1159, 已阅:220, 最后更新:2024-03-10
如果在创建Debian操作系统的时候没有勾选需要休眠的话,那么swap分区大小一般为1G,远小于物理内存,休眠所需的swap空间通常略小于实际物理内存
为了确保休眠成功,一般会保证swap分区大小略大于实际物理内存,这个时候我们只需要创建swap分区文件即可
首先,创建一个swap分区文件,并添加开机挂载
sudo fallocate -l 32g /swapfile
sudo mkswap /swapfile
sudo echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab
暂停操作系统使用交换区
sudo sysctl -w vm.swappiness=1
创建内核变量文件
sudo echo 'vm.swappiness=1'/etc/sysctl.d/ local.conf
启动操作系统使用交换区
sudo swapon /swapfile
安装uswsusp工具调整休眠,根据前面的操作回答uswsusp工具的问题
sudo apt install uswsusp
sudo dpkg-reconfigure -pmedium uswsusp
设置完成后,查看你的uswsusp.conf配置文件,这是我的配置文件输出,可以使用 swap-offset /swap 校验swapfile文件偏移量是否准确
cat /etc/uswsusp.conf
# /etc/uswsusp.conf(5) -- Configuration file for s2disk/s2both
resume device = /dev/nvme0n1p2
compress = y
early writeout = y
image size = 2147483647
RSA key file = /etc/uswsusp.key
shutdown method = platform
resume offset = 274432
encrypt = y
运行 update-initramfs -u 使上述所有设置生效,最后使用以下指令可测试休眠是否成功
s2disk
参考资料