一、core文件分析法
1)使用jmap生成core文件
jmap -dump:format=b,file=heap.hprof
31531
注:31531为java进程的进程ID
2)使用IBM HeapAnaluzer进行分析
二、使用JMC分析
JMC是jdk自带的图形界面分析工具,可查看所有线程及线程状态。
选中单个线程可查看该线程的线程堆栈,有一个特点就是堆栈可实时刷新,对于查问题很有帮助。
比如有个线程出现了死循环,通过观察堆栈就可以发现,线程堆栈每次都停在某个地方,进而可以通过分析代码确定死循环的原因