java 内存溢出问题分析过程

C 节点的子树就是所有被 C 支配的节点的集合,也称为 C 的 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 Retained Set。

由图可以看出,C 是 E 的直接支配节点,所以 C 的上级支配节点 B 也可以支配 E。

dump 分析初步


首先用 MemoryAnalyzer 工具打开 dump 文件。

 

从整体情况可以看出,1.6 gb 的堆内存,有大对象占了 1.1g。

怀疑是有内存泄漏,我们通过 Leak Suspect Report 报告查看

 

内存泄漏分析报告显示有两项问题:

  • 一是 WebappClassLoader 类加载器装载的 A.A[][] 对象占了约 1.2g(70.40%)。

  • 二是一个名为 TP-Processor9 的线程持有本地变量多达 337M(占了 19.58%)。

通过分析报告,我们初步可以推断出 OOM 的问题应该出在这两个地方,我们逐个击破。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值