Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
知道任何Java垃圾收集日志分析工具吗?_Java_Performance_Logging_Garbage Collection - Fatal编程技术网

知道任何Java垃圾收集日志分析工具吗?

知道任何Java垃圾收集日志分析工具吗?,java,performance,logging,garbage-collection,Java,Performance,Logging,Garbage Collection,我正在寻找一个工具或脚本,它将从我的web应用程序中获取控制台日志,解析出垃圾收集信息,并以有意义的方式显示它 我正在使用以下标志启动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->18092

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

我正在使用以下标志启动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]

如果我有一个能够直观地描绘垃圾收集趋势的工具,那么理解几百种这样的日志条目就会容易得多。

试试JProbe Freeware(Eclipse插件)之类的分析工具怎么样。

可以帮你很多忙,但我认为这只是Java 5和更高版本。有一次,我在我们大学听到SUN的一个人在讲话,他说Java6的垃圾收集器比旧的垃圾收集器好得多,旧的垃圾收集器几乎总是需要复杂的调整才能用于大型应用程序。Java 6 GC在SMPs上的扩展性似乎要好得多。

我使用它,它可以让你测量这类事情,还有更多,但是使用它自己的格式,而不是分析日志。它在Java5下可以做更多的工作,但在1.4下应该可以工作。

从Sun尝试。JDK4和JDK5版本可以让您很好地了解伊甸园、世代和永久空间中正在发生的事情。您需要添加一个JAR并获得一个PID和Bob的叔叔。

甚至比jconsole更好,jconsole是由Sun免费开发和分发的。它有一个名为的GC分析插件,可以帮助您


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

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


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

做了您想要的。

我想有些人正在添加Java探测,它不会像问题所说的那样真正解析垃圾收集日志

我也尝试过其他工具(gcviewer、gchisto、IBM),我发现用于分析GC日志的最好工具是

它主要用于HP-UX JVM,但也通常与Sun JVM配合使用,并且做得很好



(来源:)

VisualVM的gchisto插件不起作用

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


尝试了以下内容:IBM Java垃圾收集器模式建模和分析工具——它无法识别该文件。GCCollector不工作,它一直在读取文件进行分析。

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

我发现最强大的工具是IBM的PMAT,它可以处理IBM和Hotspot JVM日志并将其可视化:

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

不过,似乎在使用策略CMS解析日志时遇到了一些问题,但希望能够解决


PrintGCStats也很好,提供了很好的统计数据,但不是为了随着时间的推移进行可视化,这需要一些工作。

我尝试了一个在线工具,它可以读取我的sun jdk 1.8 gc日志。

这个工具并不完美,但它做了我需要它做的事情。它似乎面向ibmjdk,但它主要使用javagc日志格式。有一些信息没有被解析出来,但大部分数据都在那里。谢谢IBM现在提供了一套捆绑在一个非常大的包“IBM Support Assistant”中的工具,用于GC日志分析,您必须使用IBM提供的“垃圾收集和内存可视化工具(GCMV)”(最后更新于2012年11月)GC Histo很好。但是他们也应该将堆大小添加到分析中。@fred-o:
visualvm
看起来不错,但是如何在其中打开GC日志呢?我正在玩HPjmeter 4.1.00.00,无法用它打开Sun JDK日志文件。他们有braveterry在问题中提到的格式。它“通常”适用于Sun JVM,但我在读取一些CMS GC消息时遇到问题,我必须过滤这些消息才能加载文件。日志来自哪个JDK版本?哪些GC参数用于启动JVM?Sun JDK 1.6u27,
-verbose:GC-XX:+PrintGCDetails
。但问题更简单:
*.log
文件未列在程序可用筛选器中,因此HPjmeter无法打开它。当我重命名它时,HPjmeter失败。如何命名GC生成的文件?1)更改文件类型组合框以显示所有文件2)使用-Xloggc:而不是-verbose:gcI获取“文件中无有用数据”错误,即使在重命名文件.hprof后也是如此。问题当然不是文件名,因为我可以通过输入名称来打开.log文件。gcviewver是2008年发布的。它能正确解析Sun JVM 1.6日志吗?对我来说,它生成了许多
NumberFormatException
s,但显示了一些信息。问题是:我可以信任它吗?到目前为止,我认为您可以信任它。我真的建议您从
jconsole
获取最新版本,它是否支持脱机日志文件分析?我看到只有连接菜单。VisualGC在VisualVM中也可以作为图形插件使用,但它只能“实时”工作,据我所知,它无法处理GC日志文件。是的,我也建议现在使用VisualVM。这是我三年前写的;世界变了。我不会重温每一个答案,让它们保持最新。我同意。我只想指出,问题是关于“脱机”分析GC日志文件,而VisualGC是一个“实时”工具。您无法分析您的生产环境。加载一个带有相关场景的测试环境是gc/内存调优的第一步,但是您必须验证,由于gc日志分析,调优在生产中具有预期的效果有一个商业产品JClarity Censum,我