公司用ssh做了个网站 但是人一多 就可能会内存溢出 听老板说是session存的太多了 没有及时关闭
到底是不是这样啊 还是和服务器的设置有关。~
不该用SESSION的地方用了SESSION,
session里面放的东西太多
可以通过后台管理看SESSION , 比如TOMCAT的http://localhost:8080/manager
等;
如果确实要那吗多SESSION,可以考虑加大JAVA内存
在web.xml设置一下session timeout的时间。。。这样就不会跟session太多有关系了。。
你是不是把太多数据存放在session中,
比如用户在当前会话的过程中操作了一些数据,你的ssh是把这些数据存放在session中
在j2ee应用程序中有很多不良的代码会导致内存溢出,session只是其中一种原因
所以首先要搞清楚是什么原因导致的
1.如果是JDK1.5那么用jdk的bin目录中jconsole.exe监控一下就可分析出大概的原因了
2.如果是JDK1.6那么bin目录中的jvisualvm.exe可更好的分析应用程序
关于上述两工具的用法。google一下,会找到很多example
应该是没用使用 OpenSessionInViewFilter
可以设置一下tomcat timeout 参数改大
在web.xml设置session timeout的时间
另外建议:
已经用ssh框架了,建议弄个数据库连接池比如c3p0,你的问题就不会有了。
参考下这种解决方案
Session钝化和激活
http://blog.csdn.net/SuperJavaNet/archive/2009/11/05/4771075.aspx