2024年1月2日

关闭Swap分区

作者 高劲松

一、理解swap
Swap是一种虚拟内存,其主要使用硬盘空间来存储内存中暂时不活跃的进程。它通过将哪些很少使用或未使用的页面移动到磁盘上,并将进程切换到它们所在的位置,从而扩展了系统使用内存的容量。
当内存中的应用程序和进程需要更多的内存时,swap就是一个很好的备用选择,但是过多地使用swap可能导致系统性能下降。

二、检查swap的使用情况
在开始关闭swap之前,了解当前系统中swap的使用情况至关重要。可以使用以下命令来检查swap的使用情况:

$ swapon -s
它将输出有关所有已启用交换分区的信息。示例输出:

Filename Type Size Used Priority
/dev/dm-1 partition 1048572 248 -2
从输出中可以看到,系统使用了一个名为/dev/dm-1的交换分区,其大小为1048572KB,其中248KB已使用。

三、关闭swap
以下是关闭swap的方法:
方法一:禁用交换设备
最简单的方法是使用以下命令禁用交换设备:

$ swapoff -a
该命令会将所有已启用的交换分区禁用,并将系统的swap空间设置为零。请注意,这样做将会使所有使用swap的进程出现内存不足的问题。

方法二:删除/注释fstab中swap的条目
除了禁用交换设备,还可以删除或注释掉fstab文件中swap设备的条目。在大多数Linux发行版中,fstab文件被存储在/etc/fstab中。

要删除swap设备的条目,请编辑/etc/fstab文件并删除以以下格式开头的任何行:

/dev/sda5 swap swap defaults 0 0
或者,可以在条目前面添加#字符以注释掉它,如下所示:

/dev/sda5 swap swap defaults 0 0

四、验证swap已关闭
使用前面提到的swapon -s命令可以验证在禁用或删除swap之后,系统是否没有任何正在使用的交换空间。如果成功执行,swapon -s命令的输出将为空。