我将JBoss EAP 7.0用作Java应用程序的应用程序服务器。堆内存随着JBoss相关对象的增加而不断增加。
在某一时刻,堆变满并运行连续GC,从而降低了应用程序的速度。堆转储分析使我们清楚,下面的某些JBoss对象正在堆上占用更多内存。
io.undertow.util.HeaderValues
io.undertow.server.HttpServerExchange
io.undertow.util.HttpString
io.undertow.server.session.InMemorySessionManager
io.undertow.servlet.handlers.ServletRequestContext
io.undertow.util.HeaderValues
io.undertow.servlet.spec.HttpServletRequestImpl
io.undertow.servlet.spec.HttpServletResponseImpl
io.undertow.servlet.spec.ServletOutputStreamImpl
io.undertow.security.impl.SecurityContextImpl
我们该怎么办?
答案 0 :(得分:0)
对我来说,由于“ io.undertow.server.session.InMemorySessionManager”,您似乎有某种带有会话的Web应用程序
检查以下内容: 内存不足之前,正在运行多少会话? 您在会话中保存多少数据? (@SessionScoped) 会话超时多长时间? 您什么时候破坏会话?注销?