服务器

Linux交换空间排查:Swap用了很多,是否一定内存不够

资料核对与更新:2026-10-27 · 阅读约2分钟

Swap 占用高不一定代表此刻发生持续换页。本文结合可用内存、交换活动和任务延迟,判断是否存在真实内存压力。

服务器机柜与数据中心环境
服务器机柜与数据中心环境;作者:Hugovanmeijeren;许可:CC BY-SA 3.0。主题示意配图,非本文操作截图。 图片来源 · 许可说明

看到 Swap 已用不少,不要马上执行清空交换空间。部分页面可能只是先前被换出、暂时还没有被访问,单个占用数字不足以证明服务器正在持续抖动。

结合活动而非只看存量

同时观察可用内存、交换读写活动、进程内存趋势和应用延迟。若持续换入换出且请求明显变慢,才更像是工作集超过了可承受范围。文件缓存与进程内存也要区分,不能把所有非空闲内存都视为浪费。

找到具体负载

查看哪些进程长期增长,是否同时加载多个本地模型,或者后台并发超出预算。先减少不必要的并行任务、限制单站资源,再考虑容量调整。强行停止数据库或清理缓存,可能制造比原问题更大的中断。

谨慎调整参数

swappiness 影响交换倾向,并不是“设为零就永不交换”的万能开关。内核、存储速度和业务访问模式都会影响合理取值,应该在可回退的环境逐步测试。交换空间能缓冲压力,但不能代替足够内存。

验收应比较调整前后的响应时间和持续换页情况,不只比较 Swap 已用百分比。记录 OOM 相关事件与峰值任务,才能判断是偶发尖峰、内存泄漏,还是多站点长期争用造成的容量不足。

参考资料

资料核对:2026年10月27日。本文为文档综合与操作建议,未宣称完成本站实测。

Linux 虚拟内存参数

PHP-FPM 配置手册

本文新增价值
围绕Linux交换空间排查整理适用边界、逐步操作与验收方法,区分错误现象和真正原因,避免只给出配置值而缺少验证步骤。