系列文章目录
第一章 JVM 排查问题命令汇总
第三章 Java服务使用CAT监控导致OOM的分析
目录
1.2.1 Shortest Paths To the Accumulation Point (GC root到聚集点的最短路径,就是持有可能泄漏内存对象的最近一层)
1.2.2 Accumulated Objects in Dominator Tree (对象聚集详情,这个地方我们经常用来看完整的reference chain)
1.2.3 Accumulated Objects by Class in Dominator Tree (这里能找到被聚集的对象实例的类名,可以看到某个类被实例化多少次)
CAT客户端版本:
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-client</artifactId>
<version>3.0.2</version>
</dependency>
1.dump文件分析
使用MAT自动报告分析
1.1查看整体报告(System Overview)
1.1.1.Histogram 直方图统计
shallow 很小对应的Retained确很大这就有问题了。
1.1.2.TOP Consumers 找到大对象
点击该对象选择list objects ->with outgoing references : 查看这个对象持有的外部对象引用。