在 Linux 上是否可以使用休眠而不使用交换?

在 Linux 上是否可以使用休眠而不使用交换?

在 Windows 上,可以在不使用任何交换的情况下使用休眠状态。

我想知道这在 Linux 上是否可行?

因为在我的 Debian 11 上我在 /etc/default/grub 中找到了这一行

GRUB_CMDLINE_LINUX_DEFAULT="... resume=/dev/mapper/luks-4205519b-f3fe-468f-b05e-44f25f6882a4"

如您所见,“resume=”选项指定用于休眠的交换分区。

现在,如果我删除这个交换分区(以禁用交换),我要在 /etc/default/grub 中写入什么?

是否可以使用休眠模式文件就像在 Windows 上一样?

因为我有 32GB RAM,如果我仅将 32GB 交换分区用于休眠,那就浪费了空间。

答案1

在 Linux 上,如果没有活动交换,您就无法休眠,特别是,您想要用于休眠的任何设备或文件都必须在休眠时启用交换。

您可以休眠到文件,至少在某些文件系统上如此。该resume参数需要指向保存文件的设备,并且您需要添加一个resume_offset给定的文件偏移量(您可以使用 确定filefrag)。

您可以通过减小 swappiness 值来要求内核避免使用 swap,vm.swappiness。看如何设置和理解fs.notify.max_user_watches有关如何设置的说明。

相关内容