jvm排查內存泄漏之一基本命令

1.簡介基本命令功能

1、jps:查看本機java進程信息。

2、jstack:打印線程的信息,製作線程dump文件。

3、jmap:打印內存映射,製作dump文件

4、jstat:性能監控工具

5、jhat:內存分析工具

6、jconsole:簡易的可視化控制檯

7、jvisualvm:功能強大的控制檯

2.排查jvm內存泄漏過程

(1)查找要排查程序的進程ID

使用jps:jps -l

使用ps:ps aux | grep tomat

(2)初步查看虛擬機各種運行狀態信息

jstat -gcutil pid

結果解釋:新生代Eden區(E,表示Eden),兩個Survivor區(S0、S1,表示Survivor0、Survivor1),老年代(O,表示Old)。程序運行以來共發生Minor GC(YGC,表示Young GC)次數,總耗時,發生Full GC(FGC,表示Full GC)次數,Full GC總耗時,總的耗時(GCT,表示GC Time)。

(3)在線打印查看堆轉儲快照

jmap -histo:live pid

(4)將整個heap的信息dump寫入到一個文件,這裏演示生成的文件名heap001.jps

jmap -dump:live,format=b,file=heap001.jps pid

(5)分析dump出的文件,其中哪些代碼片段佔用內存比較大,一般就是這塊存在泄漏行爲。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章