由于Java Heap Space
错误,我在Java EE 7
服务器上运行了WildFly 9
程序的堆转储。然后我使用Eclipse Memory Analyser
来分析转储。 Eclipse Memory Analyser
揭示了以下两个相同的问题:
由“org.jboss.modules.ModuleClassLoader @ 0xe0130378”加载的“org.jboss.as.ejb3.component.stateful.StatefulSessionComponent”的一个实例占用168 975 304(36,60%)个字节。内存累积在由“”加载的“java.util.concurrent.ConcurrentHashMap $ Node []”的一个实例中。
由“org.jboss.modules.ModuleClassLoader @ 0xe0130378”加载的“org.jboss.as.ejb3.component.stateful.StatefulSessionComponent”的一个实例占用155 775 312(33,74%)个字节。内存累积在由“”加载的“java.util.concurrent.ConcurrentHashMap $ Node []”的一个实例中。
我的程序中有很少的有状态EJB。这是否意味着那些EJB永远不会被垃圾收集?知道如何解决这个问题吗?
修改
这里捕获了支配者树:
似乎课程java.util.concurrent.ConcurrentHashMap$Node
是原因。