java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)

        jhat用于对JAVA heap进行离线分析的工具,他可以对不同虚拟机中导出的heap信息文件进行分析,如LINUX上导出的文件可以拿到WINDOWS上进行分析,可以查找诸如内存方面的问题。jhat是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言。

第一步:导出堆

第二步:分析堆文件

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第1张图片

第三步:查看html

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第2张图片
        有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:jhat -J-Xmx512m <heap dump file>

 

对于jhat启动后显示的html页面中功能:

(1)显示出堆中所包含的所有的类

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第3张图片
(2)从根集能引用到的对象

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第4张图片
(3)显示平台包括的所有类的实例数量

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第5张图片
(4)堆实例的分布表

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第6张图片
(5)执行对象查询语句

java jvm常用命令工具——jhat命令(Java Heap Analyse Tool)_第7张图片
        更多关于对象查询语言的信息,见这篇文章:http://bijian1013.iteye.com/blog/2221447

 

PS:不过jhat和MAT比较起来,就没有MAT那么直观了,MAT是以图形界面的方式展现结果,MAT的使用方式可以参看文章:http://bijian1013.iteye.com/blog/2221442

 

文章来源:http://blog.csdn.net/gtuu0123/archive/2010/11/27/6039474.aspx

你可能感兴趣的:(java,jvm,jhat)