Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86665
  • 博文数量: 23
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 240
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-17 11:15
个人简介

The important thing in life is not how long you will live, but whom you are living with.

文章分类

全部博文(23)

文章存档

2024年(2)

2022年(1)

2021年(6)

2016年(1)

2015年(2)

2014年(11)

我的朋友

分类: Java

2024-06-06 17:51:18

当log报错打印java.lang.OutOfMemoryError: GC overhead limit exceeded时,可以用几个命令来分析
1、使用jmap -histo:live pid >a.log
2、10分钟后再执行以上命令jmap -histo:live pid >b.log

比较两个导出文件中哪个类的占用内存一直在增加,则归为可疑对象
如果命令执行时报 Exception in thread "main" java.lang.InternalError: Remote thread failed for unknown reason,可以使用jmap -F -histo pid 强制导出


3、找到可疑类后,使用jmap -dump:live,format=b,file=a.bin pid 导出堆信息
用MAT导入,查看可疑类和histogram中retained heap最大的类

找到对应的类,使用show object by class 查看被哪些类引用,一般关注用户定义的类,找到问题


阅读(93) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~