首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从JVM分析和监控gc.log垃圾收集器日志文件

如何从JVM分析和监控gc.log垃圾收集器日志文件
EN

Stack Overflow用户
提问于 2012-01-12 20:25:36
回答 3查看 2.6K关注 0票数 2

我想知道可视化分析和监控java gc.log文件的最好方法是什么。

到目前为止,GCViewer是我发现的最有趣的工具,但我想知道是否有更好的或更好的解决方案来监视多个远程gc.log文件。

EN

回答 3

Stack Overflow用户

发布于 2012-01-12 20:40:50

我认为分析垃圾收集器日志最有效的方法是查看输出本身。我们的生产服务器全部使用并发标记清除收集器运行,并且我使用选项-Xloggc:$GCLOGFILE -XX:+PrintGCDetails运行日志,如果环境运行时遇到问题

  1. 首先通过输入"Full GC“来检查完整GC的数量,然后
  2. 检查CMS的数量和频率,并在收集阶段查找错误消息(通常以"failed to...”开始)。

我通常也会查看线程列表,检查垃圾收集器消耗的cpu时间。我用-p <java-pid>参数运行top,然后按"H“,这样你就可以看到消耗cpu时间最多的pids了。然后可以将其与线程转储进行匹配,以查看GC线程是否是最耗时的线程。每个线程都有一个显示在线程转储中的pid,它是十六进制的,这可以与顶部的pid匹配。

查看GC消耗的cpu时间并将其与您的日志输出进行匹配是非常重要的。我尝试了GCViewer几次,但从未从GC数据的可视显示中获得有用的提示。

票数 2
EN

Stack Overflow用户

发布于 2012-01-12 20:29:32

您可以使用JDK中包含的jconsole工具。或者,当您运行java应用程序时,可以使用参数"-verbose:gc“。

票数 1
EN

Stack Overflow用户

发布于 2012-01-12 21:02:22

我认为您可以使用选项在日志文件中记录gc活动:

-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:gc.log

您可以使用HPJmeter等软件来利用此日志

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8835052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档