天天看點

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