配置低的VPS在运行部分程序时会被killed进程,通常使用swap交换分区,间接给VPS提高一下性能。

VPS添加swap交换分区的方法(只有虚拟化为Xen、KVM、VMWare的VPS可以,OpenVZ不支持添加swap)。

确认是否有SWAP,可以执行

free -m

命令查看,如果有swap一行且total项下不为零的话就是存在swap,就不适合再进行添加swap。

添加SWAP交换分区

以下以添加2GB SWAP为例,生成文件块:(SWAP一般设置为内存的2倍,并非完全以此为标准,只适合4GB以下内存,count后面的数为要设置的swap大小xxMB)

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

创建swap文件

/sbin/mkswap /var/swapfile

激活swap文件

/sbin/swapon /var/swapfile

查看一下swap是否正确:

/sbin/swapon -s

另外为了安全建议执行:

chmod 0600 /var/swapfile

改一下权限

到fstab文件中添加开机自动挂载设置

vi /etc/fstab

在末尾增加以下内容:

/var/swapfile swap swap defaults 0 0

也可以执行如下命令,感觉这样更方便

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

SWAP删除方法:

/sbin/swapoff /var/swapfile
rm -f /var/swapfile

删掉添加的自动挂载swap的设置

vi /etc/fstab

顺便附上DD命令的参数介绍: dd命令 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件和标准输出文件。 语法:

dd [选项] if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块。
obs = bytes 一次写入bytes字节,即写入缓冲区的字节数。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置ibs和obs)。
cbs = byte 一次转换bytes字节。
count=blocks 只拷贝输入的blocks块。

转载自https://www.vpser.net/opt/vps-add-swap.html

Linux增加swap分区大小

  • free查看内存状态命令,可以显示memory、swap、buffer/cache等的大小及使用状况;
  • dd读取,转换并输出数据命令;
  • mkswap设置交换区
  • swapon启用交换区,相当于mount
  • swapoff关闭交换区,相当于umount

查看当前分区情况

free -m

关闭所有交换分区

swapoff -a

增加swap大小512M左右

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

其中bs是每块的大小count是块的数量;这里1M*1024=1G可以根据需要自行调整

设置交换文件

mkswap /var/swapfile

立即激活启用交换分区

swapon /var/swapfile

添加系统引导时自启动运行

vi /etc/fstab

添加一行

/var/swapfile               swap                    swap    defaults        0 0 

收回swap空间

swapoff /var/swapfile

从文件系统中回收

rm /var/swapfile