Jsp

推荐列表 站点导航

当前位置:首页 > 脚本编程 > Jsp >

JSP_一个JSP页面导致的tomcat内存溢出的解决方法,今天新能测试组的同事找我看

来源:网络整理  作者:fen  发布时间:2020-12-25 23:06
一个JSP页面导致的tomcat内存溢出的解决方法,今天新能测试组的同事找我看一个奇怪的现象。一个tomcat应用,里面只有...

跟heap space是没有任何关系的。

今天新能测试组的同事找我看一个奇怪的现象,发现每请求一次JSP页面, 百度了一下,我们计算了下当时的QPS是5000,里面只有一个单纯的jsp页面,session是个map对象,加载到内存里面去,而且这个jsp页面没有任何java代码(想用这个jsp页面测试在她的服务器上的一个tomcat的最大QPS),会产生一个session对象。

也就是说每秒钟产生5000个session对象,在tomcat的web.xml里面有这么个配置: 复制代码 代码如下: session-config session-timeout30/session-timeout /session-config 也就是说每请求一次jsp页面。

但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下: 复制代码 代码如下: %@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"% !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" html head meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" titletest/title /head body phello world!/p /body /html 最初的分析是,并且这个对象30分钟后才过期,一个JSP页面撑死了会产生一个对应的java文件,然后这个java文件编译成class文件。

比较大,也就是会有一个class对象会被加载到PermGen space里面去,但是最后报的是对空间溢出。

一个tomcat应用,这样很快就会把内存撑爆, 解决办法如下: 1.在page指令里添加session=false,会产生一个session对象。

于是猜测肯定是每请求一次jsp页面就会生成一个对象,每分钟产生300K个对象,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/jsp/9094.shtml

最新文章
热门文章
Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

JSP_一个JSP页面导致的tomcat内存溢出的解决方法,今天新能测试组的同事找我看

2020-12-25 编辑:fen

跟heap space是没有任何关系的。

今天新能测试组的同事找我看一个奇怪的现象,发现每请求一次JSP页面, 百度了一下,我们计算了下当时的QPS是5000,里面只有一个单纯的jsp页面,session是个map对象,加载到内存里面去,而且这个jsp页面没有任何java代码(想用这个jsp页面测试在她的服务器上的一个tomcat的最大QPS),会产生一个session对象。

也就是说每秒钟产生5000个session对象,在tomcat的web.xml里面有这么个配置: 复制代码 代码如下: session-config session-timeout30/session-timeout /session-config 也就是说每请求一次jsp页面。

但是用loadrunner压测了几分钟之后,分配了1024M堆内存的tomcat居然包heap space outofmemory!这个页面的代码如下: 复制代码 代码如下: %@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"% !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" html head meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" titletest/title /head body phello world!/p /body /html 最初的分析是,并且这个对象30分钟后才过期,一个JSP页面撑死了会产生一个对应的java文件,然后这个java文件编译成class文件。

比较大,也就是会有一个class对象会被加载到PermGen space里面去,但是最后报的是对空间溢出。

一个tomcat应用,这样很快就会把内存撑爆, 解决办法如下: 1.在page指令里添加session=false,会产生一个session对象。

于是猜测肯定是每请求一次jsp页面就会生成一个对象,每分钟产生300K个对象,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/jsp/9094.shtml

相关文章

风云图片

推荐阅读

返回Jsp频道首页