dump文件分析

1、生成dump文件,bin下面几个常用的命令的使用

jps

jmap生成dump文件

jmap -heap 67008

jmap -dump:format=b,file=c:/temp/autodump/jmapdump 67008

jstat

jstat -gcutil 67008 5s 3

S0: Survivor0(新生代Survivor)是空的

S1: Survivor1(新生代Survivor)是空的

E: Eden(新生代Eden)占用0.38%

O: Old(老年代)占用48.24%

M:

CCS:

YGC: Young GC==> Minor GC ==> 新生代GC的次数

YGCT: YGC 耗时0.578秒

FGC: Full GC==>老年代GC的次数

FGCT: FGC总耗时1.067秒

GCT: 所有GC总耗时1.645秒

jinfo 查看jvm运行参数信息

jinfo -flags 12148

启动一个内置的http服务器来将分析结果展现为html格式

jhat

jhat jmapdump

jstack

jstack 12148

jconsole

jvisualvm

 

2、使用程序模拟生成dump文件

 

3、dump文件分析

Histogram可以列出内存中的对象,对象的个数以及大小

  • Class Name : 类名称,java类名
  • Objects : 类的对象的数量,这个对象被创建了多少个
  • Shallow Heap :一个对象内存的消耗大小,不包含对其他对象的引用
  • ·            Retained Heap :是shallow Heap的总和,也就是该对象被GC之后所能回收到内存的总和

outgoing references :表示该对象的出节点(被该对象引用的对象)。

incoming references :表示该对象的入节点(引用到该对象的对象)。

Path To GC Roots -> exclude all phantim/weak/soft etc. references

Dominator Tree

 

Top Consumers

 

Duplicate Classes

 

Leak Suspects

 

Top Components

 

Component Report

发表评论

邮箱地址不会被公开。 必填项已用*标注