我有几个应用程序在一个 Tomcat7 实例中运行。
偶尔,我注意到日志中有 OutOfMemoryErrors。
我如何找出是哪个应用程序(理想情况下是哪个)类导致了它们?
更新 1(25.12.2014 11:44 MSK):
我更改了应用程序中的某些内容(在 servlet 上下文被销毁时添加了对 Quartz 调度程序的关闭调用),这可能导致内存泄漏。
现在我的内存消耗图表如下所示。
它们中的任何一个是否表明应用程序中存在内存泄漏?
如果是,是哪一个?
最佳答案
关于这个有很好的文档http://www.oracle.com/technetwork/java/javase/clopts-139448.html
- 使用上面链接中描述的 vm 参数创建堆转储。
- 分析这个 heapdump,例如使用 memoryanalzyer( https://eclipse.org/mat/ )。
关于java - 如何诊断 Tomcat 7 中的 OutOfMemory 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419686/