DC娱乐网

内存泄漏怎么排查?从现象到堆栈 服务内存涨了不回落,四步定位👇 ① 先看趋势定

内存泄漏怎么排查?从现象到堆栈
服务内存涨了不回落,四步定位👇
① 先看趋势定性:缓慢上涨不回落 = 泄漏;高峰涨、低谷回落 = 正常——监控曲线放 24h 以上看
② dump 堆快照:jmap -dump:live,format=b,file=heap.hprof PID(生产环境先摘流量再 dump,大堆会卡顿)
③ MAT / jvisualvm 分析:看 Dominator Tree,找占内存最大的对象和引用链
④ 对着引用链找代码——最常见的三个真凶:静态集合只加不删(缓存无上限)、连接/流没 close、ThreadLocal 用完没 remove 测试怎么验:浸泡测试——压测连续跑 8h+,内存曲线回落才通过。
加分句:"内存泄漏不怕慢涨,怕的是没人看监控——等 OOM 重启了才发现,就晚了"。

📌 收录在主页合集《排查实战手册》,同类干货一次看全

软件测试 JVM 排查