JVM性能调优5:Heap堆分析方法



本系列包括:

JVM性能调优5:Heap堆分析方法

heap分析,包括heap分析和dump文件分析两部分。

(1)heap堆分析,通过jstat命令获取jvm实时的内存分配和垃圾回收情况,并输入到文件中,如下:

jstat -gccapacity -t -h 10 14696 1000 10>gc.log

通过分析heap分配的最小值、最大值、S0S1eden old最小和最大、perm最小和最大、minorgcfull gc的次数等内容:

Timestamp       NGCMN    NGCMX     NGC    S0C   S1C       EC     OGCMN      OGCMX       OGC

  OC      PGCMN    PGCMX    PGC       PC     YGC   FGC

        1134.8  41984.0 672384.0 624256.0   64.0   64.0 109696.0    84096.0 1344896.0    84096.0

 84096.0  21248.0  83968.0 21248.0  21248.0   4595    0

(2)通过jmap命令分析heap内存的使用情况,如下:

jmap -heap 14696 >gc.log

分析heap内存配置和当前的使用情况的快照。如下:

Heap Configuration:

  MinHeapFreeRatio = 40

  MaxHeapFreeRatio = 70

  MaxHeapSize      = 2065694720 (1970.0MB)

  NewSize          = 1310720 (1.25MB)

。。。 。。。

Heap Usage:。。。 。。。

PS Young Generation。。。 。。。

Eden Space:。。。 。。。

From Space:。。。 。。。

。。。 。。。

(3)通过jmap分发heap中对象分配情况,命令如下:

jmap -histo 21204 >gc.log

分析heap中对象分布情况。如下:

num    #instances        #bytes class name

----------------------------------------------

  1:         1123      19054280 [B

  2:        11804       1613008 <methodKlass>

  3:        11804       1506512 <constMethodKlass>

.... ....

Total        67013      26866048

(4)dump文件通过工具进行分析。

首先导出dump映像文件。通过命令:

jmap -dump:live,file=<pid>_.hprof 21204

导出dump文件,注意文件扩展名为“hprof” ,不要导出“bin”类型,在mat堆内存分析工具中不支持“bin”的文件。

以下工具提供dump文件分析功能;jhatjdk自带的分析工具;mateclipse提供的dump分析工具MatHeapAnalyzerIBM提供的共享dump文件分析工具;jprofiler工具。

推荐使用eclipsemat分析工具。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值