我有几个在Tomcat7实例中运行的应用程序。

偶尔,我注意到日志中有OutOfMemoryErrors。

我如何找出导致它们的是哪个应用程序(理想情况下是哪个)类?

更新1(25.12.2014 11:44 MSK):

我更改了应用程序中的某些内容(在Servlet上下文被破坏时向Quartz调度程序添加了一个shutdown调用),这可能导致内存泄漏。

现在我的内存消耗图表如下所示。



它们是否表明应用程序内存泄漏?

如果是,是哪一个?

最佳答案

关于http://www.oracle.com/technetwork/java/javase/clopts-139448.html的文档很好


使用上面链接中描述的vm参数创建一个heapdump。
分析此堆转储,例如使用memoryanalzyer(https://eclipse.org/mat/)。

10-08 06:57