天天看点

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

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

第一步:导出堆

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

第二步:分析堆文件

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

第三步:查看html

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

        有时你dump出来的堆很大,在启动时会报堆空间不足的错误,可以使用如下参数:jhat -J-Xmx512m <heap dump file>

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

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

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

(2)从根集能引用到的对象

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

(3)显示平台包括的所有类的实例数量

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

(4)堆实例的分布表

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

(5)执行对象查询语句

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

        更多关于对象查询语言的信息,见这篇文章: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