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出的文件,其中哪些代码片段占用内存比较大,一般就是这块存在泄漏行为。

 

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