Linux下增加、删除Swap文件

在使用VPS时,如果出现内存不够用的情况,可能会产生各种奇怪的问题。这个时候,增加Swap空间,就可以起到救急的作用。下面就来看看具体步骤。

创建Swap文件

检查Swap空间

先检查一下系统里有没有既存的Swap文件:

1
swapon -s

如果返回的信息概要是空的,则表示Swap文件不存在。

计算参数

创建Swap文件将用到dd命令,我们需要根据需求(即要分配的Swap文件的大小)来计算出参数。一种典型的做法是,每次读写1KiB,重复N次,这样可以兼顾内存消耗和读写次数。因此,如果以MiB为单位计算你要分配的Swap文件的大小,那么读写次数(拷贝的块数)就是将该值乘以1024得到结果。例如,块大小为1KiB时,64MiB的Swap文件拷贝的块数是65536,而1GiB的Swap文件则是1048576。

使用dd命令来创建Swap

根据前面的计算:

1
dd if=/dev/zero of=/swapfile bs=1024 count=1048576 #分配1G的Swap空间

参数说明:

  • if=input file:输入文件名,缺省为标准输入。即指定源文件。
  • of=output file:输出文件名,缺省为标准输出。即指定目的文件。
  • bs=bytes:同时设置读入/输出的块大小为bytes个字节,取为1024。
  • count=blocks:拷贝的块数,块大小等于bs指定的字节数。将前面算出的数字填入即可。

这里的if=/dev/zero意味着向/swapfile填满空字符。你也可以尝试将它换成/dev/random,或许也可以正常初始化。

权限设置

分配空间后,需要赋予Swap文件适当的权限:

1
2
chown root:root /swapfile
chmod 0600 /swapfile

启用Swap

创建好Swap文件,还需要格式化后才能使用。

1
2
3
#初始化并激活Swap
mkswap /swapfile
swapon /swapfile

如果要机器重启的时候自动挂载Swap,那么还需要修改fstab配置。
用vim打开/etc/fstab文件,在其最后添加如下一行:

1
/swapfile  Swap Swap   defaults 0 0

当下一次系统启动时,新的swap文件就打开了。
添加新的swap文件并开启后,检查cat /proc/swaps或者free命令的输出来查看swap是否已打开。

删除Swap分区

最后,是删除Swap分区的方法。

1
2
swapoff /swapfile #卸载swap文件
rm -rf /swapfile #删除文件

🍭支持一根棒棒糖!
0%