测试管理,自动化测试、手机客户端测试、wap站点测试研究

关于解决tomcat内存溢出的问题(原创)

上一篇 / 下一篇  2008-07-03 11:53:47 / 个人分类:敏捷测试

近日来系统每天发生一次内存溢出,后台日志如下:
"]&HP7q P-yV0An exception or error occurred in the container during the request processing51Testing软件测试网i7E0P@-S,G%A9S4z,eJ
java.lang.OutOfMemoryError: PermGen space
DS(@#E1K*U051Testing软件测试网J&om\"w1R
停止服务后,再启动服务,仍然无法访问系统
#B0kr [-t,K {v0重启服务器后,再启动服务,可以正常访问系统
'tI4h~ WfXb1n/[D ]0
q%Mw2VN6[0经排查优化部分的代码(原来这部分的代码由多个人书写,比较混乱,怀疑存在死循环)后,确认其他代码没有死循环和资源释放正常。重新设置tomcat的PermGen静态内存大小后程序基本正常。
?0{z r1H%K]051Testing软件测试网!@n(ObbYm G
tomcat修改PermGen内存大小的步骤(linux环境):
GZn$L~PNF;K01,被修改的文件:/opt/tomcat/bin/catalina.sh51Testing软件测试网#J-y0oW tk
51Testing软件测试网:Ecw0~:j8JT:N
2,在catalina.sh中增加以下语句:51Testing软件测试网-MM0O c-Oc)duJ]
# -----------------------------------------------------------------------------
%QN4^0L*Ms6L t"K0JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
? w*O)V^:@ M$a O-d0# OS specific support. $var _must_ be set to either true or false.51Testing软件测试网$_ UbE^
51Testing软件测试网:u RK8?0K"ZQ
注意:第一个“=”两边不能含有空格,否则设置无效
%A LR nQ3o0
'LI0}Q%F8g"v3{5o0pL0可以使用jstat命令观察perm区的情况,命令如下:
4v0Z2G`B-xn LW0jstat -gcold -t 7077 1000 751Testing软件测试网z hJ:Lk+M
51Testing软件测试网y-p wbIiu

D6^4F:^ tQJ0(junqinghuang原创,如果转载请注明出处)
(O:K!A5~$W;v,[`0
O} k'p!O1v^P051Testing软件测试网vE`3Rtl

/z {:OzBr{m'D)y n0

TAG: 敏捷测试

 

评分:0

我来说两句

Open Toolbar