jsp空页面导致的jvm heap溢出
为了性能测试需要,一个tomcat应用,里面只有一个单纯的jsp页面,而且这个jsp页面没有任何java代码(想用这个jsp页面测试在她的服务器上的一个tomcat的最大QPS)。但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java"%> <html> <head> <body> <p>hello world!</p> </body> </html>
在测试过程中,发现jvm堆内存有泄露情况!这个实在让人费解啊…经过百度发现装载JSP的tomcat每接受一次请求,就会为这个请求开一个Session,而这个Session所占有的内存要经过一段时间才能释放!
进行以下调整,
1. JSP的编译指令加入session的配置:
<%@ page contentType="text/html;charset=UTF-8" language="java" session="false" %>
2. 在tomcat 的 web.xml中配置session的过期时间为0
<session-config> <session-timeout>30</session-timeout> </session-config>
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接