整理悉尼服务器 swap 使用过高导致性能下降的排查实战。
swap 使用过高说明内存不足。以下是实战。
一、确认现象 - 系统变慢、响应卡顿 - free 显示 swap 被大量占用 - si/so(换入换出)持续不为零
二、定位 1) free -h 看内存与 swap 2) vmstat 1 看 si、so 3) top 按内存排序找占用大户 4) 查 /proc/meminfo 细节
三、常见原因 1) 物理内存不足 2) 内存泄漏 3) 缓存或队列无上限 4) 进程数过多 5) swappiness 配置不合理
四、处理 - 定位并重启异常进程 - 增加物理内存 - 限制缓存与队列大小 - 调整 swappiness(通常降低) - 必要时清理内存缓存
五、优化 1) 关键业务关闭或减少 swap 2) 应用层内存优化 3) 水平扩展分摊压力 4) 内存监控告警
六、预防 - 内存水位告警 - 上线前内存压测 - 容量规划
总结:swap 过高本质是内存不足,要先定位占用大户,再从内存、缓存和参数逐项优化。