我在apache-tomee上运行测试套件(许多测试用例,带有TestNG框架),这需要非常频繁地部署和取消部署。但不幸的是,Apache Tomee实例在测试套件完成之前抛出了OOM。
Jconsole表明堆和非堆内存使用量只会增长和增长。
我使用Eclipse Memory Analyzer来分析HeapDump文件,但发现了一些奇怪的东西:
MemoryAnalyzer domainator_tree
Path to GC Root, all JNI Local reference....
我无法找出谁是类TestNG的GC根并导致OOM,我们没有任何JNI代码。
ThreadLocalMemoryLeakPreventionListener配置为Enabled。 Apache-TomEE与tomcat8.0.32 JDK1.7.0_67
add:当我切换到JDK1.7.0_80时,事情变得更好但最终仍然是OOM。 Memory Analyzer显示同样的事情。