内存溢出 weblogic weblogic.servlet.internal.session.MemorySessionContext / MemorySessionData

阅读 68

2022-05-01

问题描述

在一次项目非功能压力测试过程中。发生内存溢出现象。
通过mat工具分析dump,MemorySessionContext和MemorySessionData占用内存居高不下。

weblogic weblogic.servlet.internal.session.MemorySessionContext
weblogic weblogic.servlet.internal.session.MemorySessionData

MemoryAnalyzer 打开失败,修改内存

原因分析以及解决方案

session对象没有及时回收。

解决方案1
配置文件web.xml 设置 session-timeout:session失效时间。
在这里插入图片描述
解决方案2
weblogic.xml
在这里插入图片描述
通过各种博客文章的参考,一般尝试方案1就能解决问题。 不行可以尝试方案二

我们项目中的问题 :在Servlet中写下如下代码造成的。

 ServletContext servletContext = request.getSession().getServletContext();
 ApplicatiionContext ctx = WebApplicatiionContextUtils.getWebApplicationContext(servletContext );
 ctx.getBean("xxx");

精彩评论(0)

0 0 举报