我有几个在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/)。