代码之家  ›  专栏  ›  技术社区  ›  braveterry

了解Java垃圾收集日志分析工具吗?[关闭]

  •  53
  • braveterry  · 技术社区  · 16 年前

    我正在寻找一个工具或脚本,它将从我的Web应用程序中获取控制台日志,解析垃圾收集信息并以有意义的方式显示它。

    我在Sun Java1.4.2JVM上启动了以下标志:

    -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]
    

    如果我有一个工具可以直观地绘制垃圾收集趋势图,那么理解几百个此类日志条目就容易多了。

    12 回复  |  直到 9 年前
        1
  •  15
  •   Jesu09 bajafresh4life    10 年前

    IBM的GC工具包完全按照您的要求执行。

    https://www.ibm.com/developerworks/java/jdk/tools/gcmv/

    不过,我不确定它是否与Sun的JVM中的GC日志兼容。

        2
  •  29
  •   kohlerm    16 年前

    gcviewer 做你想做的。

        3
  •  12
  •   fglez    14 年前

    我认为有些人正在添加Java探针,它们不真正解析垃圾收集日志,因为问题是…

    我试过其他人(gcviewer、gchisto、ibm),我发现用于分析gc日志的最佳工具是 HPjmeter

    它主要是针对HP-UX JVM的,但是它也通常与Sun JVM一起工作并且做得很好。

    alt text http://blog.xebia.com/wp-content/uploads/2008/09/hpjmeter-gctime.jpg

        4
  •  8
  •   craig_wu9    9 年前

    我试过一个在线工具 http://gceasy.io ,它可以读取我的Sun JDK 1.8 GC日志。

        5
  •  7
  •   fred-o    16 年前

    比JConsole更好 visualvm 由太阳自由发育和分布。它有一个GC分析插件,名为 gchisto 这可能对你有帮助。

    编辑: 抱歉,我没有看到您的JDK 1.4.2要求。在这种情况下,visualvm不会帮助你,唉。

        6
  •  7
  •   Stian Lund    12 年前

    我发现最强大的工具是IBM的PMAT,它可以处理IBM和Hotspot JVM日志,并将其可视化: https://www.ibm.com/developerworks/mydeveloperworks/groups/service/html/communityview?communityUuid=22d56091-3a7b-4497-b36e-634b51838e11

    我发现它比IBMSupportAssistant中的工具更快,提供了更多的细节。 它正在不断更新,最后是7月12日。

    不过,似乎在使用策略cms解析日志时遇到了一些问题,但希望可以修复这些问题。

    printgcstats也相当不错,它提供了很好的统计信息,但不适合随着时间的推移进行可视化,这需要一些工作。

        7
  •  5
  •   Nick Fortescue    16 年前

    我用 YourKit java profiler ,它允许您测量这类事情,以及更多,但使用它自己的格式而不是分析日志。它可以在Java 5下做更多的工作,但是应该在1.4以下。

        8
  •  3
  •   duffymo    16 年前

    尝试 VisualGC 来自太阳。有JDK4和JDK5版本,可以让您很好地看到伊甸园、世代和永久空间中正在发生的事情。你需要增加一个罐子和一个PID和鲍勃的叔叔。

        9
  •  3
  •   mnasce zewdu    13 年前

    几年前,john coomes(hotspot gc group)发布了printgcstats,这是一个awk脚本,用于“总结垃圾收集的统计信息,特别是GC暂停时间总计、平均值、最大值和标准偏差”。脚本的副本托管在java.net上: http://java.net/projects/printgcstats

        10
  •  2
  •   Johannes Weiss    16 年前

    jconsole 可以帮助你很多,但我认为它是Java 5和以后只。有一次,我在我们的大学听到Sun的讲话,他说JAVA 6的垃圾收集器比旧的要好多了,对于大的应用来说,几乎所有的时间都需要复杂的调整。Java 6 GC似乎在SMPS上有了更大的规模。

        11
  •  2
  •   AleÅ¡    11 年前

    VisualVM的gchisto插件不工作 https://gchisto.dev.java.net/

    我有一个包含jdk1.6的printgc所有详细信息的文件,但找不到读取它的工具。 以前使用JDK1.5时,我们使用了hpjmeter,它工作得很好,但现在使用JDK1.6时,它不工作。

    尝试如下:IBM模式建模和分析工具Java垃圾收集器-它不承认该文件。gcCollector不工作,它继续读取文件进行分析。

        12
  •  1
  •   Petteri H    16 年前

    如何尝试一些分析工具,如jprobe免费软件(Eclipse插件)。