小内存VPS生存指南:加Swap、砍占用、上缓存三步走


导读:1G内存的小鸡跑WordPress,流量一来内存就爆?先别急着升配。加Swap、砍服务占用、上前端缓存,三步走完,小内存VPS也能稳稳扛住日均几千IP的访问。这篇附完整命令,照抄就能用。

一、第一步:加Swap,给内存上保险

Swap是磁盘上的“应急内存”。物理内存吃紧时,系统把不活跃的数据挪到Swap里,进程不至于被OOM杀掉。对小内存VPS来说,Swap就是那道保命的防线。

创建2G Swap文件四条命令:

  • fallocate -l 2G /swapfile
  • chmod 600 /swapfile
  • mkswap /swapfile
  • swapon /swapfile

想重启后依然生效,把 /swapfile none swap sw 0 0 追加进 /etc/fstab。

两个注意点:一是swappiness参数建议调到10(sysctl vm.swappiness=10),让系统尽量用物理内存、只在真撑不住时才动Swap;二是OpenVZ架构的容器不支持自建Swap,下单前认准KVM架构。

二、第二步:砍掉内存大户

小内存机器上,数据库和PHP进程通常吃掉大半内存,刀口就在这里:

MySQL/MariaDB。 innodb_buffer_pool_size是最大的内存参数,默认配置可能吃400M以上。个人博客128M完全够用,加上 performance_schema 关掉,一套组合拳能省下小300M。

PHP-FPM。 pm.max_children决定PHP进程数上限,每个进程约吃50-80M。1G内存的机器设成4-6最合适,默认值经常是坑。宁可让请求排队,也别让进程把内存吃爆触发OOM连环杀。

不用的服务。 邮件服务、多余的PHP扩展、面板的监控组件,systemctl disable 一波带走。

三、第三步:上缓存,让动态请求变静态

WordPress每个页面请求都要跑PHP、查数据库,这是小内存机器卡顿的根源。缓存的本质:让绝大多数请求不碰PHP。

  • 插件层:WP Super Cache或W3 Total Cache,把页面缓存成静态HTML,效果立竿见影
  • 服务器层:Nginx的fastcgi_cache,连PHP进程都不用起,并发能力翻好几倍
  • 静态资源:图片上CDN,开启WebP转换,流量和内存压力一起减

三层做完,常见的效果是:内存占用从90%降到40%,页面响应从800ms降到80ms。

四、监控与排错

优化前后都用数据说话:

  • free -h 看内存,重点看available一列,不是free
  • htop 按内存排序,谁在吃一目了然
  • dmesg | grep -i oom 查OOM记录,判断之前是不是真的内存不够

如果Swap长期占用超过一半、available常年低于10%,说明优化已经到头,该升配了。

写在最后

小内存VPS的优化顺序:加Swap保命 → 砍数据库和PHP占用 → 上缓存减负 → 盯监控决定是否升配。升级配置永远是最后一步——三步免费操作做完,很多“该升配”的机器其实还能再战一年。你的小鸡内存占用多少?评论区报个数。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

VPS一键DD重装系统实战:商家镜像被魔改?半小时刷回纯净系统

年付VPS挑选指南:100-300元预算如何选到靠谱的服务器

评 论
更换验证码