了解任何Java垃圾收集日志分析工具?
我正在寻找一个工具或脚本,将从我的Web应用程序的控制台日志,parsing出垃圾收集信息,并以有意义的方式显示它。
我正在使用以下标志在Sun Java 1.4.2 JVM上启动:
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails
日志输出如下所示:
54.736: [Full GC 54.737: [Tenured: 172798K->18092K(174784K), 2.3792658 secs] 257598K->18092K(259584K), [Perm : 20476K->20476K(20480K)], 2.4715398 secs]
如果我有一个可以直观地显示垃圾收集趋势的工具,那么从这些types的日志条目中就可以理解成几百种。
IBM的GC工具包完全符合您的要求。
https://www.ibm.com/developerworks/java/jdk/tools/gcmv/
我不确定它是否与来自Sun的JVM的GC日志兼容。
gcviewer做你想做的。
我想有些人正在添加Java探测器,它不真正parsing垃圾收集日志作为问题状态…
我试过其他的(gcviewer,gchisto,IBM的),我发现的用于分析GC日志的最好的工具是HPjmeter
它主要用于HP-UX JVM,但它通常也可以与Sun JVM一起使用,并做得很好。
替代文字http://blog.xebia.com/wp-content/uploads/2008/09/hpjmeter-gctime.jpg
甚至比jconsole更好的是visualvm ,它由Sun自由开发和分发。 它有一个名为gchisto的GC分析插件可能会帮助你。
编辑:对不起,我没有看到你的JDK 1.4.2的要求。 在这种情况下,visualvm不会帮助你,唉。
我发现可以同时使用IBM和Hotspot JVM日志并将它们可视化的最强大的工具是IBM的PMAT: https ://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview ? communityUuid = 22d56091- 3a7b-4497-b36e-634b51838e11
我发现它比IBM Support Assistant中的工具更快,并提供了更多的细节。 它正在不断更新,最后是7月12日。
但是,似乎有一些问题parsing日志与政策CMS,但希望可以修复。
PrintGCStats也相当不错,并且提供了很好的统计数据,但是不能用于可视化,需要一些工作。
我尝试了一个在线工具http://gceasy.io ,它可以读取我的sun jdk 1.8 gc log。
我使用YourKit java分析器 ,它可以让你测量这种事情,还有更多,但使用它自己的格式,而不是分析日志。 它可以在Java 5下做更多,但是应该在1.4下工作。
尝试从Sun的VisualGC 。 有JDK 4和5版本给你一个很好的视觉,在伊甸园,世代和烫发空间发生了什么。 你需要添加一个JAR并获得一个PID,Bob是你的叔叔。
几年前,John Coomes(Hotspot GC group)发布了PrintGCStats,这是一个awk脚本,用于“总结垃圾收集的统计数据,尤其是gc暂停时间总计,平均值,最大值和标准偏差”。 该脚本的副本位于java.net上: http : //java.net/projects/printgcstats
jconsole
可以帮助你很多,但是我认为它只是Java 5和更高版本。 有一次,我听到SUN的一个人在我们大学讲话,他说Java 6的垃圾收集器比旧的更好,几乎所有的时间都需要复杂的debugging来实现大型应用。 Java 6 GC在SMP上看起来好多了。
适用于VisualVM的gchisto插件不起作用https://gchisto.dev.java.net/
我有一个jdk1.6的printgc的所有细节的文件,但找不到一个工具来阅读。 以前用jdk1.5我们使用HPjmeter它工作正常,但现在与jdk1.6它不
尝试以下:IBM垃圾收集器模式build模和分析工具 – 它不识别该文件。 GCCollector不起作用,它继续阅读文件进行分析。
如何尝试一些分析工具,如JProbe免费软件(Eclipse插件)。