思路,个人总结从两个方面
分析gc
对pid 4592 进程每1秒统计一次GC,总共统计10次;后面就需要对gc频率、内存等做分析
jstat -gcutil 4592 1000 10
分析dump文件
- 使用jmap命令装入dump文件
jmap -dump:live,format=b,file=d:/heap.dump 4592
4. 使用jvisualvm装入dump文件(笔者使用的jdk1.8的jvisualvm)
分析类实例数量异常的类:
右键->在实例视图中显示
在其中一个实例上右键->显示最近的垃圾回收跟节点,这样就可以做进一步分析有可能是什么代码创建了这些对象
”引用“图例
在GC root上右键->在线程中显示进而可以查看具体GC root处的线程信息(包括代码)
有了线程堆栈信息就可以做进一步代码分析了
进而代码分析,,,over