Debian 上动态增长的交换文件

Debian 上动态增长的交换文件

我知道如何创建交换文件并将其用作交换。但我必须事先配置文件的大小,以及无论是否使用交换,都会使用磁盘上的空间。

如何创建初始大小为 0 且按需增长的交换?

答案1

交换空间是一个创建“动态交换文件”的实用程序,该文件根据操作系统的要求更改其大小。

因此,您甚至可以忘记创建虚拟交换文件,只需安装“SwapSpace”,它就会自动为您创建一个虚拟交换文件,甚至在必要时调整它的大小。

您还可以将“交换空间”与手动创建的交换文件并排使用,当手动交换文件被填满时,“交换空间”将自动为操作系统创建另一个交换空间,这样操作系统将始终拥有一个交换空间,从而增强了稳定性。

关于“SwapSpace”的另一个有用的事情是,只要有可能,它就会减少 SwapSpace 的大小并将这些字节“释放”到用户文件系统中,根据开发人员的说法,这种减少也有助于提高交换文件的性能(而且您的“宝贵”硬盘空间也没有被浪费)。

安装与

sudo apt-get install swapspace

并根据您的需要调整配置文件。我在我的 VM debian 机器上将最小值设置0为只有 8GB HDD


另外我还设置了交换性最大限度地0减少虚拟机上宝贵的 HDD 空间的使用:

要更改系统交换值,请/etc/sysctl.conf以 root 身份打开。然后,更改或添加此行到文件中:

vm.swappiness = 0

跑步

systemctl restart systemd-sysctl.service --system

激活

答案2

交换空间陈旧且缺乏维护,有一天可能会导致现代系统出现问题。我认为动态交换的最佳解决方案是:

sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable

然后设置CONF_SWAPFACTOR=2/etc/dphys-swapfile最后

sudo service dphys-swapfile start

答案3

Afaik,例如,您使用 fdisk 创建的任何交换分区都需要大于 0 的空间,因为您正在修改现有磁盘的空间并将其重新分配到其他地方。

无论如何,回答你的问题,你可以轻松地创建一个小分区,将其分配为 fdisk 下的交换区,然后:

1) 禁用交换swapoff -v 2) 调整分区大小lvresize 3) 格式化分区mkswap 4) 重新启用交换空间swapon -v

之后,您可以使用它cat /proc/swaps来检查它是否已升级。您可以根据您的系统规格轻松地在脚本上使用它,并在需要增加交换空间时按需运行它。就像是:

$ swapoff -v /dev/swapvol1
$ lvresize /dev/swapvol1 -L +1G
$ mkswap /dev/swapvol1
$ swapon -v /dev/swapvol1

相关内容