mat全名:Memory Analyzer Tool。這篇要介紹的內容比較例外一點,mat這工具並不是JDK內自帶的工具,而是要另外下載。JDK8以前,使用的分析工具是jhat,只是在9之後就刪除了jhat工具(JEP 241: Remove the jhat Tool),改使用Oracle官方推薦的mat,也就是我們今天要介紹的主角。
下載位置:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation
以下示範的作業系統:macOS Big Sur
點擊"Download"
選擇適合要使用的電腦作業系統版本
到檔案下載的位置查看,直接點擊進行執行
將檔案拉到Applications
接著到Finder中,點擊『應用程式』,查看是否有mat的app
針對mat的app點擊右鍵>顯示套件內容
點擊Contents資料夾>點個MacOS資料夾>點擊MemoryAnalyzer,便可將應用程式開啟
看到此畫面表示應用程式正常開啟了。
點擊Files>Open Heap Dump...>選到欲分析的hprof檔案(我拿上篇自動導出的auto.hprof文件示範,Day13-JDK堆內存快照工具-jmap(三)自動導出內存映像文件)
接著它會問你要選擇以下哪個常見的報吿:
透過這方式便能快速找到造成內存洩漏的問題了!使用這工具才不會在遇到OOM時就好像大海撈針的感覺~
mat工具還有多有用的訊息可以查看,在接下來會繼續介紹~