小内存服务器救急:Swap 与内核参数调优

1G 小鸡跑 MySQL 偶尔 OOM 重启,组合拳三步解决。

第一步:加 Swap

fallocate -l 2G /swapfile
chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

第二步:调 swappiness

vm.swappiness=10 让系统优先用内存、紧急才用 Swap;纯数据库机可设 1-10,混合业务 10-30。

第三步:限制数据库胃口

MySQL 的 innodb_buffer_pool_size 设为物理内存的 30-40%;PHP-FPM 限制子进程数。OOM 的本质是「承诺大于拥有」,三步都在压缩承诺。

相关文章