分析JVM gc日志

来源:互联网 发布:淘宝怎么看不到v等级了 编辑:程序博客网 时间:2024/05/16 14:28

    GC日志是一种很重要的日志,它虽然无法定位出很详细的内容,但反映出JVM整体的运行状况。以生产环境为例:在出现严重性能问题时,整个系统卡住了,我发现1分钟之内full gc是25次,当把问题解决之后,1分钟的full gc只有4次。

    如果在系统使用高峰期的时候,出现full gc的非常多,如果系统内存溢出,那分析DUMP文件就可以了。如果没有内存溢出的日志,就需要dump JVM。gc 日志就像一个风向标,引导我们做事情。

    分析GC日志,之前使用过GChisto、GCLogViewer-0.3-win,效果都不甚理想。最近发现一款Garbage Collection and Memory Visualizer (GCMV),符合我的习惯。

    有两种安装方法:

    1. eclipse下安装,打开帮助-->eclipse marketplace 搜索GCMV ,安装后切换到GCMV的视图,通过文件-->装入文件 选择gc日志,可以出结果。

    2. 安装IBM Support Assistant workbeach 4.0,可以选择JVM插件。不过在我的机器上有问题,选择插件的时候总报空指针的错null point,导致选择不了插件,无法进行下一步。

    分析的结果非常丰富,各个维度,有比较关心的基线值是:

   全部回收99分配失败触发的回收数量8273回收之间的平均时间间隔 (毫秒)1554666垃圾回收暂停所用时间的比例 (%)0.3垃圾回收率 (MB/分钟)5237平均垃圾回收暂停时间 (毫秒)1459强制回收计数0非暂停时间比例 (%)99.7

摘要:
非暂停时间比例 (%) = 99.7
分配失败触发的回收数量 = 8273
回收之间的平均时间间隔 (毫秒) = 1554666.3232323232
垃圾回收率 (MB/分钟) = 5236.80405700525
垃圾回收暂停所用时间的比例 (%) = 0.3
平均垃圾回收暂停时间 (毫秒) = 1458.8226565656576
强制回收计数 = 0
全部回收 = 99

0 0
原创粉丝点击