GC调优方案,步骤二:使用工具[IBM Pattern Modeling and Analysis Tool for Java Garbage Collector]分析gc信息

来源:互联网 发布:国产音乐制作软件 编辑:程序博客网 时间:2024/04/29 13:37
 根据第一步方法我们建立gc信息跟踪,请查看GC调优方案,步骤一:获得详细GC信息2个简单方法

获得了gc日志,我们就要做分析了

注意,只有方法一(配置jvm参数打印日志),可以使用工具分析,使用方法二的话,工具无法识别。

1、下载工具 [IBM Pattern Modeling and Analysis Tool for Java Garbage Collector]

地址:https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=22d56091-3a7b-4497-b36e-634b51838e11

下载之后解压。

2、双击解压后文件ga414.jar(前提是安装的jdk要求1.6版本)

3、打开第一步骤中,收集到的gc文件,我操作系统是solaris,使用点击open verbosegc files(Solaris/HP_UX)

使用说明,可以看帮助

4、要注意下面红框的内容

Number of all Garbage Collections :垃圾回收总次数

Number of Full Garbage Collections :Full gc总次数

Total Garbage Collection pause :垃圾回收中断总时间

overhead :垃圾回收耗时/垃圾回收间隔时间

First Garbage Collection :首次收集垃圾回收时间

Last Garbage Collection :最后一次收集垃圾回收时间

根据上面参数:

1、  gc频率= Number of all Garbage Collections / (Last Garbage Collection - First Garbage Collection)

2、  Total Garbage Collection pause

3、  overhead

这3个是重要的垃圾回收参数,也可以看作为性能指标。

我们调优的目标就是,期望垃圾回收频率减少,回收中断时间减少,overhead减少。

但是不可能全理想的,因为这些指标相互制约,如果减少回收次数,有可能中断时间增大,回收耗时增大。业界中的说法是,gc一次间隔时间控制大于10秒,gc一次耗时控制小于500毫秒,overhead控制小于13%。

如果,我们gc已经很理想了,我们就没有必要去调试,如果不理想,我们怎么办呢?

其实,我们gc调优目标就是:

1、 降低Full GC执行频率

2、 降低Full GC消耗时间

3、 降低Full GC所造成的应用暂停时间

4、 降低Minor GC执行频率

5、 降低Minor GC消耗时间

如何调优呢,下一篇会给出一些案例。