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

原创 2016年05月31日 16:45:19


本系列包括:

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分析工具。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

JVm性能调优4:GC日志分析

通过分析gc日志,分析系统瓶颈。

Full GC分析:设置Java VM参数实现在Full GC前后自动生成Dump

本文讲解了如何设置Java VM参数实现在Full GC前后自动生成Dump。共有三个VM参数需要设置: HeapDumpBeforeFullGC, HeapDumpBeforeFullGC和Hea...

JVM 之 GC日志分析

常用JVM参数 http://blog.csdn.net/gzh0222/article/details/8223277  分析gc日志后,经常需要调整jvm内存相关参数,常用参数如下 -Xm...

GC日志分析

JVM的GC日志的主要参数包括如下几个: -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的详细日志 -XX:+PrintGCTimeStam...

JVM内存参数详解以及配置调优(四)-GC日志

JVM内存参数详解以及配置调优(四)-输出日志文件 在进行JVM内存分析时,可以将一些日志文件进行输出,帮助我们进行性能诊断,在JVM的启动参数中添加需要的参数即可: -verbose:gc 输出...

gc日志分析工具

性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析。 Gc日志参数 通过在tomcat启动脚本中添加相关...

Linux上Jvm性能调优方法

确定性能问题 OS 诊断 先考察Linux操作系统上显示的性能指标,主要关注CPU、Memory、I/O三方面: CPU 诊断 主要考察CPU的负载均值(Load Average), ...

JVM(5):tomcat性能调优和性能监控(visualvm)

tomcat服务器优化 1、JDK内存优化    根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)