2G内存不够用?不是机器太弱,是你还没“调”它。
阿里云99元那款ECS,2核2G3M,续费不涨价,能用到2029年。很多人拿它当入门建站机,跑WordPress、搭小项目。

但用着用着就会发现一个问题:内存不够。
2G内存,跑个宝塔面板 + MySQL + PHP + Nginx,稍微多几个进程就开始告急。
阿里云服务器ECS 99元1年,续费同价: https://www.aliyun.com/minisite/goods
腾讯云轻量云服务器: https://cloud.tencent.com/act/cps/redirect?redirect=36719
京东轻量云服务器: https://3.cn/1YX-MxJv
我自己也用了几年这台机器,分享三个“续命”方法。
第一板斧:开启Swap,给内存加个“保障”
Swap就是把磁盘划一块当内存用。物理内存不够时,系统把不常用的数据挪到Swap里,腾出物理内存给活跃进程。

对2G服务器来说,这是最有效的保命手段。
可以在云助手中,一条命令搞定:
acs-plugin-manager --exec --plugin ACS-ECS-SwapConfig --params --enable
它会根据内存大小自动设置Swap。2G内存的话,Swap大小就是4G。
配置完用 free -h 看一眼,Swap那行显示出来就对了。
注意: Swap是以防万一用的,不是性能提速器。频繁用Swap意味着磁盘IO暴增,系统反而会变慢。它是“防崩溃”,不是“提性能”。
第二板斧:屏蔽垃圾蜘蛛和AI爬虫
这是被很多人忽略的内存杀手。
你辛辛苦苦优化的网站,可能有一大半请求来自根本没用的爬虫。它们不带来流量核好处,只消耗服务器资源,包括内存,CPU,带宽等。

宝塔面板用户可以在“网站设置 → 配置文件”里加屏蔽规则或者防火墙中添加:
if ($http_user_agent ~* (SemrushBot|AhrefsBot|MJ12bot|DotBot|BLEXBot|ZoominfoBot|CCBot|GPTBot|ChatGPT-User|Bytespider)) {
return 403;
}
这些都是典型的“白嫖型”爬虫:
- SemrushBot / AhrefsBot / MJ12bot:SEO分析工具,疯狂爬你的页面只为分析数据
- DotBot / BLEXBot / ZoominfoBot:商业数据采集,对你的内容没兴趣
- CCBot:Common Crawl,专门给AI训练喂数据
- GPTBot / ChatGPT-User:OpenAI的爬虫,抓你内容训练模型
- Bytespider:字节跳动的爬虫
判断标准很简单: 你不需要它的搜索引擎流量,就别让它爬,我自己长期收集整理了挺多各种垃圾蜘蛛的UA。感觉还是挺有用的。
第三板斧:服务调优,把浪费的内存挤出来
PHP-FPM:别让进程数失控
宝塔默认的 pm.max_children = 50,对2G机器太大了。
每个PHP-FPM进程吃20-80MB内存。50个进程全开,内存直接见底。
计算公式: 可用内存 ÷ 单进程内存占用 ≈ 合理进程数。
2G内存,留给PHP大概500-700MB。按单进程40MB算,pm.max_children 设15-20就够了。
在宝塔“PHP设置 → 性能调整”里改,用动态模式,不要静态模式。

MySQL:给缓冲池“瘦身”
MySQL的 innodb_buffer_pool_size 默认值可能吃掉你一半内存。
2G机器建议设256MB或512MB。
在宝塔“数据库 → 配置修改”里改。如果只是跑WordPress这种轻量应用,256MB完全够用。
其他连接相关参数也调小,可适当参考:
max_connections = 50
sort_buffer_size = 1M
read_buffer_size = 512K
join_buffer_size = 1M
总结
2G内存的服务器,跑得动和跑得稳是两回事。
三板斧按优先级来:
先开Swap,这是底线保障。再屏蔽垃圾爬虫,这是“节流”。最后调PHP和MySQL参数,这是“精打细算”。
三招做完,你的99元服务器能从“勉强能用”变成“稳定运行”。
99元服务器地址:
CLOUD技术博