整理宿务服务器内存持续增长导致 OOM 的排查与修复实战。
内存泄漏会让服务逐步被 OOM 杀死。以下是实战。
一、确认现象 - 内存占用持续增长不回落 - 重启后短期正常 - 周期性 OOM 或被杀
二、定位 1) 用 top/ps 观察进程内存趋势 2) 用 pmap 或内存分析工具看分布 3) 采集堆快照对比对象增长 4) 检查连接、缓存与线程是否释放
三、常见原因 1) 连接或文件句柄未关闭 2) 全局缓存无上限持续增长 3) 监听器或回调未注销 4) 大对象未及时释放 5) 第三方库缺陷
四、处理 - 修复泄漏点并加资源上限 - 缓存设容量与过期 - 补全关闭与注销逻辑 - 升级或替换问题库 - 临时加内存与重启缓解
五、优化 1) 资源统一管理 2) 缓存容量控制 3) 内存指标监控
六、预防 - 内存增长告警 - 压测与长稳测试 - 复盘修复点
总结:内存泄漏要通过趋势与堆快照定位,修复未释放资源并加容量上限,靠长期压测预防。