各大云服务厂商都有弹性主机,例如ECS这种标准云主机,同时他们也推出了更轻量化的轻量服务器。
一般CPU和内存是1:1,1核1GB或者2核2GB。这时候内存可能会不够用
- 查看是否已有swap分区
命令是:
sudo swapon --show
free -h
- 检查磁盘可用空间 命令是:
df -h
- 创建swap空间
sudo fallocate -l4G swapfile
创建了一个swapfile文件,大小为4GB
- 锁定root权限
sudo chmod 600 swapfile
- 标记该文件为swap空间
sudo mkswap swapfile
sudo swapon swapfile
会给出UUID,其实不用关心 6. 检查是否有交换空间了,同第一步
free -h
- 添加到fstab使之重启也能生效
sudo cp /etc/fstab /etc/fstab.bck
在原/etc/fstab
文件末尾追加
swapfile文件绝对路径 none swap sw 0 0
这里要注意别写错了,可以使用sudo mount -a
尝试挂载一次,看看是否有异常。如果没有任何报错,说明更新的fstab文件无异常。
- 调整配置
修改/etc/sysctl.conf
文件,在文件末尾补充
vm.swappiness=30
vm.vfs_cache_pressure=50
保存重启服务器即可生效。
总结
这种方法可以避免一些因为内存不够而导致的OOM问题等,但因为使用的是磁盘,swap空间的速度远低于真正的内存,所以仅适用于一些要求不高的场景,压力较轻的服务。
如果是海量访问极高的要求,还是应当提升主机配置。