[转载]VPS增加Swap交换分区
生成文件块
以下命令为生成读/写缓冲区的字节数为1M,Swap分区为1G的文件块。
dd if=/dev/zero of=/var/swap bs=1024 count=1048576
设置交换区
mkswap /var/swap #mkswap命令后的参数即为dd命令中的of参数路径
chmod 0600 /var/swap #提高安全性
chmod 0600 /var/swap #提高安全性
启动交换器
swapon /var/swap #swapon命令后的参数即为dd命令中的of参数路径
启动后,执行free -m命令,查看是否成功增加Swap交换分区,显示Swap分区的标识及分区大小则成功。
[root@lcsoul ~]# free -m
total used free shared buff/cache available
Mem: 489 220 7 28 260 218
Swap: 1023 0 1023
total used free shared buff/cache available
Mem: 489 220 7 28 260 218
Swap: 1023 0 1023
设置开机挂载
echo '/var/swap swap swap default 0 0' >> /etc/fstab
注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a
修改 swpapiness 参数
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区。
可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:
echo 10 >/proc/sys/vm/swappiness
若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:
vm.swappiness=10