Linux 如何添加和关闭Swap交换分区,设置多大才合适?

Linux Swap
Linux Swap

什么是Swap(交换分区)

Linux 系统中的 Swap 分区,即交换分区,类似于 Windows 的虚拟内存,其作用可简单的描述为:当系统的物理内存不够用的时候,将暂时不用的数据存放到交换空间所在的硬盘上,从而可以腾出内存来让别的程序运行。

Swap 分区设置多大合适

Swap 合理的大小是与服务器的物理内存有关的,目前站长找到一个比较靠谱的关系表(Red Hat Enterprise Linux):

  1. 内存 <= 4g:Swap 至少 4G
  2. 内存 4~16G:Swap 至少 8G
  3. 内存 16G~64G:Swap 至少 16G
  4. 内存 64G~256G:Swap 至少 32G

Swap 分区设置

使用 dd 命令生成一个文件块,大小为自己想设置的 Swap 分区大小,这里生成一个名为 swapfile 的文件,大小设为 1G。

dd if=/dev/zero of=/var/swapfile bs=1M count=1024

将交换分区文件权限设为 0600 

chmod 0600 /var/swapfile

将该文件设为 Swap 文件(格式化)

mkswap /var/swapfile

激活 Swap 文件(启用虚拟内存)

swapon /var/swapfile

此时已经成功添加了交换分区,但这样重启后 Swap 分区会丢失,需要重新激活才行,所以我们一般在 fstab 文件为其添加开机自动挂载设置

echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab

swap 分区如何关闭

首先将 Swap 文件取消激活:

swapoff /var/swapfile

然后删除我们设置的 Swap 文件:

rm /var/swapfile

最后再编辑 /fstab 文件删除掉自动挂载 Swap 的设置即可:

vi /etc/fstab