分析Sun Hotspots,JVM 6的GC日志

rip*_*234 14 java logging garbage-collection jstat

我正在尝试分析我们的应用程序的GC行为(在Tomcat中运行,在Sun的Hotspots下,JVM 1.6).

到目前为止,我已经指示JVM使用...将GC日志发送到单独的文件

-Xloggc:gc.log 
-XX:+PrintGCApplicationStoppedTime 
-XX:+PrintGCApplicationConcurrentTime 
-XX:+PrintGC 
-XX:+PrintGCTimeStamps 
-XX:+PrintGCDetails
Run Code Online (Sandbox Code Playgroud)

...并使用jstat输出日志...

jstat -gc -t 29045 5s > jstat.gc
Run Code Online (Sandbox Code Playgroud)

我看到有趣的信息,但没有找到一个工具来帮助我分析/可视化这些日志.我通过这个问题指向了GCViewer ,但它只从gc.log中解析了一些日志行,然后崩溃并出现异常.对于我正在使用的特定JVM,是否有更好或更新的解析这些特定日志的工具?

小智 6

gcviewer 多年来一直没有更新,所以它被击中或错过 - 一些gc文件将正常工作,其他gc文件将得到例外.

IBM的gc日志解析器可以接受, http://www.alphaworks.ibm.com/tech/pmat/faq

Sun有一个名为GCPortal的东西,但它需要:

  • 安装到Web应用程序服务器
  • 安装awk和perl
  • 使用JDBC驱动程序和配置安装RDBMS
  • 而真正的杀手,第三方图表/图表软件过去是免费的,现在不是.惊人.

gchisto 已经死了,项目中已经没有任何东西了.

HPJmeter不了解IBM gc文件.

  • `gcviewer`用于JDK 1.6/1.7在以下网站被更新[https://github.com/chewiebug/GCViewer](https://github.com/chewiebug/GCViewer) (3认同)

Hel*_*ter 3

我个人使用HP JMeter进行大量 GC 可视化。它在 SUN JRE 上运行“正常”,在 HP 的 JRE 上运行得非常好(见图)。

对于 Sun HotSpot 1.6(在非 HP 平台上),我使用这些 GC 选项来生成日志以供分析:

-Xloggc:/path/to/vgc/log/location/logfile.vgc  --XX:+PrintHeapAtGC 
Run Code Online (Sandbox Code Playgroud)