我们最近将应用程序从Jboss EAP 6.1迁移到7.1。我们的应用程序开始随机进入一个完整的GC死亡螺旋(平均时间12秒停止运行),并在生产环境中耗尽内存。
我们从Jboss EAP 6.1迁移到7.1
我们还有:
该应用程序在带有PF 6.1和PFE 6.1.1的Jboss EAP 6中可以正常工作。
在JBoss死亡之前,我们进行了一些堆转储,并注意到有一个线程在保留的堆中占用3.28 GB的内存。 3.27 GB是一个java.util.HashMap,每个节点包含数百万个
javax.faces.component.StateHolderSaver
我们已经阅读了这个https://github.com/primefaces/primefaces/issues/4849,看起来与我们的问题类似,但是我们没有导致问题的组件p:autoUpdate。
我注意到在降级到JSF 2.1(自定义模块到JBoss)的本地环境中,javax.faces.component.StateHolderSaver的数量没有成倍增加。这两个版本有什么不同?
什么会导致此内存泄漏?
感谢您的帮助。