通過上一篇部落格linux/windows下利用JDK自帶的工具擷取thread dump檔案和heap dump檔案,我們知道如何擷取到java應用程式的heap dump檔案。現在我們使用一些圖形化工具,來幫助我們分析檔案中的資訊,有效地定位問題。
使用JDK自帶的jhat指令
jhat是用來分析java堆的指令,可以将堆中的對象以html的形式顯示出來,包括對象的數量,大小等等,并支援對象查詢語言。
jhat -port 5000 heap.dat
之後當服務啟動完成後,我們就可以在浏覽器中,通過http://localhost:5000/進行通路
使用eclipse MAT工具
一般來說,應用程式的dump檔案都是很大的,jdk自帶指令難以分析這些大檔案。在實際的生産環境下,我們必須要借助第三方工具,才能快速打開這些大檔案,進行分析定位。eclipse memory analyzer是一款優秀的heap分析工具,能夠幫我們快速定位記憶體洩露問題。