我们有一个托管我们的应用程序的weblogic服务器。几天前,我们遇到了OutOfMemoryError: GC overhead limit exceeded
问题。现在我想调查它发生的原因。所以我用google搜索垃圾收集统计信息。我有一些命令行选项来获取GC –XX:+PrintGCDetails
和–XX:+PrintGCTimeStamps
等详细信息。
我想知道的是如何以及何时使用这些命令。它们是命令行选项,这是否意味着它们只能在启动服务器时使用?因为,如果是这样的话,我只能得到即将到来的GC循环的细节,这对我来说是没有用的,因为我正在努力挖掘几周前出现的问题。或者是否有其他方法可以获取过去垃圾收集的详细信息?
答案 0 :(得分:0)
我建议添加以下JVM
参数以启用GC
活动日志,此参数生成一个日志文件,其中包含应用程序实时期间的所有GC
个活动
-XX:+ PrintGCDetails
-Xloggc:[VALID_PATH \ gc.vgc]
您还可以使用HP Jmeter
工具分析文件,它是一个很好的GUI工具,可以很好地显示GC
个活动。