前言
当 VPS 的内存不足时,可能会导致死机而影响程序的正常运行。我们可以通过添加 SWAP 交换分区(虚拟内存)的方式来缓解内存不足的情况。
简介
SWAP 交换分区类似于 Windows 下的虚拟内存,是把空闲的硬盘空间虚拟作为内存来使用,防止物理内存不够而导致系统死机,主要在物理内存吃紧的情况下起作用。合理的设置 SWAP 可以 在不升级硬件的情况下在 一定程度上提高主机的负载能力。
但毕竟是硬盘虚拟出来的,所以虚拟内存的速度取决于硬盘速度,同时因为硬盘速度和物理内存相比还是有很大差距的,所以只是用来缓解物理内存不足的情况。
SWAP 添加方法
1.查看当前 SWAP 情况
free -m
2.添加 SWAP 交换文件
创建 SWAP 文件,设置大小,这里我设置为 1G。(bs * count = SWAP 大小)
dd if=/dev/zero of=/var/swap bs=1M count=1024
设置文件权限
chmod 600 /var/swap
创建 SWAP
mkswap /var/swap
启用
swapon /var/swap
查看 SWAP 状态
swapon -s
或者 free -m
3.添加开机启动
在 /etc/fstab
中添加一行 /var/swap swap swap default 0 0
echo '/var/swap swap swap default 0 0' >> /etc/fstab
删除 SWAP
如果需要删除 SWAP 的话可以按照下面操作进行。
首先要停用
swapoff /var/swap
然后再删除
rm -rf /var/swap
最后去掉开机启动
sed -i '/\/var\/swap swap swap default 0 0/d' /etc/fstab
Tips
SWAP 文件大小的设置,当然并不是设置的虚拟内存越大就越好,按需要设置,最大不要超过物理内存的 2 倍。
物理内存 ≤ 1G 时,设置 SWAP 为内存的 2 倍大小;8G > 物理内存 > 1G 时,设置 SWAP 为内存的 1.5 倍大小。
结语
添加 SWAP 交换分区(虚拟内存)比较适合于物理内存吃紧或者刚刚够用的情况,避免了因为内存只差一点不够用而升级整个 VPS 的情况,既节省了费用也满足了需要。
当然因为虚拟内存和物理内存之间性能上的差距,如果内存确实缺的比较多,还是直接升级硬件的好。