總算要來介紹讓我踏入JDK研究的工具了!!jmap可做到的事情很多,所以我會拆成幾篇來介紹。
jmap全名:JVM Memory Map,主要用於輸出指定Java進程的共享物件記憶體對映或堆記憶體細節,可以dump文件。
在遇到OutOfMemoryError: Java heap space
(也就是OOM)問題時,這工具是是首選。
jmap -clstats <pid>
jmap -finalizerinfo <pid>
jmap -histo[:live] <pid>
jmap -dump:<dump-option> <pid>
主要會著重在dump的指令介紹
可以透過jmap
或jmap -help
查看此指令的說明資訊
這邊我拿昨天的範例(Day10-JDK查看虛擬機配置訊息工具:jinfo)進行運行Step1.~Step3.
-clstats
:指定正在運行中的Java進程類加載統計數據-finalizerinfo
:awaiting finalization-histo
:用來輸出Java堆對象的直方圖
可加上live:只會輸出指令當下存在的對象
-dump
不小心...手誤按出發送...啊嘶!!只好...有機會再來補完整一點QQ