iT邦幫忙

2021 iThome 鐵人賽

DAY 11
0
自我挑戰組

展開JDK工具的30天應用之旅系列 第 11

Day11-JDK堆內存快照工具-jmap(一)基本應用

前言

總算要來介紹讓我踏入JDK研究的工具了!!jmap可做到的事情很多,所以我會拆成幾篇來介紹。

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查看此指令的說明資訊
https://ithelp.ithome.com.tw/upload/images/20210926/20140481dtFhNtzrJo.png


這邊我拿昨天的範例(Day10-JDK查看虛擬機配置訊息工具:jinfo)進行運行Step1.~Step3.

  • -clstats:指定正在運行中的Java進程類加載統計數據

https://ithelp.ithome.com.tw/upload/images/20210926/20140481y7AKChcRX7.png

  • -finalizerinfo:awaiting finalization

https://ithelp.ithome.com.tw/upload/images/20210926/20140481PQjslktAE8.png

  • -histo:用來輸出Java堆對象的直方圖

https://ithelp.ithome.com.tw/upload/images/20210926/20140481UdYxKQ8s6y.png
可加上live:只會輸出指令當下存在的對象

  • -dump

https://ithelp.ithome.com.tw/upload/images/20210926/20140481FYsQR8PtWI.png

不小心...手誤按出發送...啊嘶!!只好...有機會再來補完整一點QQ


上一篇
Day10-JDK查看虛擬機配置訊息工具:jinfo
下一篇
Day12-JDK堆內存快照工具-jmap(二)手動導出內存映像文件
系列文
展開JDK工具的30天應用之旅30

尚未有邦友留言

立即登入留言