前言:
什么是休眠功能,休眠功能可以在笔记本断电时把内存的内容存入硬盘中,在启动时,从硬盘里取出来恢复到内存,继续工作,这种方法可以真正实现永不关机,Ubuntu默认的是挂起模式,本人在以前安装Ubuntu时不知道这个swap分区有什么用,因此就没有设置,由于刚升级的win11我越用越卡了,到Ubuntu一看没有休眠功能就不习惯,现在来设置一下。
1. 新建一个swap分区
你可以使用gparted工具来创建一个新分区,注意不要动efi分区,保存好你的文件。
sudo apt-get install gparted
/dev/sda3就是我创建的swap分区,格式化为linux-swap 文件系统
你的新分区必须比内存大,这样才能使用这个功能
2. 转换新建的分区为swap
sudo mkswap /dev/sda3
3.启用分区
sudo swapon /dev/sda3
4.查看是否启用成功
free -m
$ free -m
总计 已用 空闲 共享 缓冲/缓存 可用
内存: 7872 2761 3884 151 1226 4712
交换: 9215 984 8231
可以看到交换内存比内存大。
5.将swap分区信息写入fstab
查看swap分区的UUID,记下UUID
sudo blkid
/dev/sda1: SEC_TYPE="msdos" UUID="0007-B40B" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="415f9e26-58f7-4863-9bce-186c8e9ec477"
/dev/sda2: UUID="960AB3F80AB3D389" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="786b4c39-6075-4ec2-ba9a-ebdd6732dcb0"
/dev/sda3: UUID="dc3d1e1e-d3ec-4506-bd18-601c6f956b83" TYPE="swap" PARTLABEL="Basic data partition" PARTUUID="a200f809-aa8d-4b08-9f0b-cc14ad76de4b"
/dev/sda4: UUID="16BCD2FBBCD2D479" TYPE="ntfs" PARTUUID="64a0eed7-04af-4006-8475-203a55bee8af"
/dev/sda5: UUID="05362445-0336-444d-a504-dc531dd7bf30" TYPE="ext4" PARTUUID="2183d926-ab86-431d-80ad-322ce619598b"
打开fstab
sudo vim /etc/fstab
在文件最后一行加入如下文字,注意不要有引号
UUID=dc3d1e1e-d3ec-4506-bd18-601c6f956b83 swap swap defaults 0 0
保存退出 安装pm-utils
sudo apt install pm-utils
sudo apt install molly-guard(防止错误关机)
看是否成功启用休眠,返回0 代表成功
pm-is-supported --hibernate
echo $?
现在使用
sudo pm-hibernate
看是否能成功运行,如果没有报错且启动后成功恢复就算成功
6 .使用uswusp
如果上述方法不行则使用uswsusp工具,先安装uswusp,这个工具可以使用自己的方式休眠。
sudo dpkg-reconfigure -pmedium uswsusp
选择自己刚刚创建的分区,并且启用snapshot。
7. 删除swap分区
swapoff /dev/sda3 #卸载swap文件
并修改/etc/fstab文件 #从配置总删除
格式化你的swap分区,并且合并到原来的分区。