(1)java线程堆栈分析工具jca457.jar
主要用于分析死锁情况,线程调用使用情况,方法使用频率等。
使用方法:
jps找到Java线程pid号
jstack pid > filename
工具获取:jca工具获取:https://download.csdn.net/download/miniyuyu/12307701
内含详细操作步骤和线程堆栈分析示例
java -jar jca457.jar filename
生成表格形式数据,方便分析。
(2)
Memory Analyzer
http://www.eclipse.org/mat/downloads.php官网下载对应的版本
官网说:It is useful if you do not want to installa full-fledged IDE on the system you are running the heap analysis.用于java虚拟机的堆内存的分析。
主要功能:查看堆内存的分配状况;跟踪内存分配情况。
有助于我们找到较大的对象,及代码中耗内存和内存泄漏的地方,是分析优化代码内存使用有力工具。
使用方法:
jps找到Java线程pid号
jmap -dump:format=b,file=filename.bin pid
Memory Analyze打开filename.bin文件就可以查看内存中各种数据,还有图表显示,很直观。
PS:记得上次的死锁,https://blog.csdn.net/miniyuyu/article/details/79661938 。当时定位了好长时间,事后用这两个工具分析当时的线程堆栈文件和dump文件,第一行就是大大的死锁警告,产生死锁的是调用前5名的两个方法。要是当时用了这两个工具,分分中搞定,论使用工具的重要性!
上一级->基础知识点篇
首页->目录大纲