轻量服务器内存不够用怎么办

195 阅读1分钟

各大云服务厂商都有弹性主机,例如ECS这种标准云主机,同时他们也推出了更轻量化的轻量服务器。

一般CPU和内存是1:1,1核1GB或者2核2GB。这时候内存可能会不够用

云服务器 链接1 链接2

  1. 查看是否已有swap分区

命令是:

sudo swapon --show
free -h

image.png

  1. 检查磁盘可用空间 命令是:
df -h 

image.png

  1. 创建swap空间
sudo fallocate -l4G swapfile

创建了一个swapfile文件,大小为4GB

image.png

  1. 锁定root权限
sudo chmod 600 swapfile

image.png

  1. 标记该文件为swap空间
sudo mkswap swapfile
sudo swapon swapfile

image.png

会给出UUID,其实不用关心 6. 检查是否有交换空间了,同第一步

free -h

image.png

  1. 添加到fstab使之重启也能生效
sudo cp /etc/fstab /etc/fstab.bck

在原/etc/fstab文件末尾追加

swapfile文件绝对路径 none swap sw 0 0

这里要注意别写错了,可以使用sudo mount -a尝试挂载一次,看看是否有异常。如果没有任何报错,说明更新的fstab文件无异常。

  1. 调整配置

修改/etc/sysctl.conf 文件,在文件末尾补充

vm.swappiness=30
vm.vfs_cache_pressure=50

保存重启服务器即可生效。

总结

这种方法可以避免一些因为内存不够而导致的OOM问题等,但因为使用的是磁盘,swap空间的速度远低于真正的内存,所以仅适用于一些要求不高的场景,压力较轻的服务。

如果是海量访问极高的要求,还是应当提升主机配置。