(1)最新版本V4.6.9下载地址:https://www.ibm.com/support/pages/ibm-thread-and-monitor-dump-analyzer-java-tmda,具体使用帮助也可以在该页面查看。
(2)需要本地安装JDK并配置JAVA环境变量。
(3)之后使用java -jar jca469.jar即可打开工具。
直接将dump出来的堆栈信息,打开,便可分析。
如打开之前模拟CPU 100%使用jstack打印输出的堆栈信息文件test.out
在Thread Dump List中右键可以查看Thread详细信息。
在IBM Thread and Monitor Dump Analyzer for Java工具中,请求线程可分为以下几种状态: 1.死锁,Deadlock(重点关注) 2.执行中,Runnable(重点关注) 3.等待资源,Waiting on condition(重点关注) 4.等待监控器检查资源,Waiting on monitor 5.暂停,Suspended 6.对象等待中,Object.wait() 7.阻塞,Blocked(重点关注) 8.停止,Parked Deadlock:死锁线程:一般指多个线程调用间,进入相互资源占用,导致一直等待无法释放的情况。 Runnable:一般指该线程正在执行状态中,该线程占用了资源,正在处理某个请求,有可能正在传递SQL到数据 库执行,有可能在对某个文件操作,有可能进行数据类型等转换。 Waiting on condition:等待资源,如果堆栈信息明确是应用代码,则证明该线程正在等待资源,一般是大 量读取某资源,且该资源采用了资源锁的情况下,线程进入等待状态,等待资源的读取。又或者, 正在等待其他线程的执行等。 Blocked:线程阻塞,是指当前线程执行过程中,所需要的资源长时间等待却一直未能获取到,被容器的线程管
更详细使用仅分析参见:https://blog.csdn.net/weixin_30657541/article/details/98034829