我想知道可视化分析和监控java gc.log文件的最佳方法是什么。
GCViewer是迄今为止我发现的最有趣的工具,但我想知道是否有更好或更好的解决方案来监控多个远程gc.log文件。
答案 0 :(得分:2)
我认为分析垃圾收集器日志的最有效方法是查看输出本身。我们的生产服务器全部使用Concurrent Mark Sweep Collector运行,我使用选项-Xloggc:$GCLOGFILE -XX:+PrintGCDetails
运行日志,如果环境遇到问题我
我通常也会查看线程列表并检查垃圾收集器消耗的CPU时间量。我通过使用-p <java-pid>
参数运行top来执行此操作,然后按“H”,这样您就可以看到消耗最多cpu时间的pids。然后可以将其与线程转储匹配,以查看gc线程是否是最耗时的线程。每个线程都有一个pid显示在线程转储中,它是十六进制的,可以匹配顶部的pids。
查看GC消耗的cpu次数并将其与日志输出相匹配非常重要。我曾多次尝试过GCViewer,但从未真正从GC-Data的可视化显示中获得有用的提示。
答案 1 :(得分:1)
您可以使用JDK中包含的jconsole工具。或者,当您运行Java应用程序时,可以使用参数“-verbose:gc”。
答案 2 :(得分:0)
我认为您可以使用选项在日志文件中记录gc活动:
-verbose:gc -XX:+ PrintGCTimeStamps -XX:+ PrintGCDetails -Xloggc:gc.log
您可以使用HPJmeter软件
来利用此日志