一、常用的jvm工具
除了常用的命令行工具,常用的图形化工具及其特点如下:
二、内存分析
使用MAT导入dump文件
1、Problem Suspect
最可能的问题列表,MAT的分析相对准确,复杂问题需要开发者进一步定位
2、进一步定位到问题类
在问题对象上(大对象上或者海量相同对象上)点击Path to GC ROOTs(见下图一),然后可以得到对象的持有链(见下图二)
三、cpu耗时分析
使用visualVM连接到应用
1、在profiler中点击右上角的设置按钮,设置要分析java包
2、点击CPU进行分析(需要先预热接口,不预热的接口vm未进行自适应优化,分析就不准确)
3、保存快照
4、找到调用树
在想要分析的类上提取调用树数据,调用树上最重要的数据是自用时间