vps的内存一般比较小(主要看你购买的是哪种,如果资金充足,买更大内存的vps就好了,加预算可以解决很多问题),有时会因为内存不足出各种故障,如何解决可能会发生的内存不足的问题呢?
可以通过添加虚拟内存来解决内存不足的问题。
但是虚拟内存终究没有内存性能好,添加多了会浪费资源,所以一般添加内存的1.5倍~2倍
可以通过下面命令查看内存使用情况,有没有swap,swap没有显示或者是零,就说明没有swap
free -m
添加虚拟内存的方法如下:
方法一:使用Linux命令添加swap
以给512M的centos系统(不同发行版本部分命令不同)的vps添加2倍内存为例(1G)
1、创建一个swap文件(可以修改swap目录,如of=/swap,但是后面挂载分区之类的话,也要记得不是/home/swap目录)
dd if=/dev/zero of=/home/swap bs=1024 count=1024000
2、使用mkswap格式化文件为swap文件系统
mkswap -f /home/swap
3、挂载分区
swapon /home/swap
4、修改/etc/fstab文件,防止重启后swap分区变成0
vi /etc/fstab
5、在/etc/fstab文件最后一行添加以下代码,保存
/home/swap swap swap default 0 0
6、如不需要,删除如下:
关闭挂载
swapoff /home/swap
删除空间
rm /home/swap
7、查看swap是否成功,swap有显示数字就成功了
free -m
方法二:使用第三方脚本添加swap
脚本来源于:Rat ‘s Blog
https://www.moerats.com/archives/722/
只需输入以下命令安装
wget https://www.moerats.com/usr/shell/swap.sh && bash swap.sh
运行
bash swap.sh
添加为选1,删除选2,选好回车,然后输入你想要的虚拟内存大小,填写纯数字,默认单位为M
方法三:自定义脚本,来源于:
https://blog.51cto.com/supermk/1918987
#!/bin/bash
fdisk /dev/vdb <<end
n
$1
t
82
wq
end
partprobe
mkswap /dev/vdb1
swapon -a /dev/vdb1
echo /dev/vdb1 swap swap defaults 0 0 >> /etc/fstab