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

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

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

近日来系统每天发生一次内存溢出,后台日志如下:
p-gb3nQH1\r0An exception or error occurred in the container during the request processing
j*u i9dH t0java.lang.OutOfMemoryError: PermGen space
,PWi6m0KW,Q"v0
gE`o&k2w0停止服务后,再启动服务,仍然无法访问系统
Kl'k;C/z9S+I0j1x0重启服务器后,再启动服务,可以正常访问系统51Testing软件测试网E7`Q7Zv k?
51Testing软件测试网;R Z ]N {!b
经排查优化部分的代码(原来这部分的代码由多个人书写,比较混乱,怀疑存在死循环)后,确认其他代码没有死循环和资源释放正常。重新设置tomcat的PermGen静态内存大小后程序基本正常。
N@^V3{l#H-r KQ0
X3XU ^4x+Ebq0tomcat修改PermGen内存大小的步骤(linux环境):
NE:~F }/mT01,被修改的文件:/opt/tomcat/bin/catalina.sh
f%B%l&qzH Z9~4L)t0
H'^0y ExK1Dw2O~ _02,在catalina.sh中增加以下语句:51Testing软件测试网2?6rEm_u*f
# -----------------------------------------------------------------------------51Testing软件测试网6|DQQ)gU{
JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"51Testing软件测试网U S$A0KD"G V:vs
# OS specific support. $var _must_ be set to either true or false.51Testing软件测试网 w q7A5`8| y

v8hR ~X0注意:第一个“=”两边不能含有空格,否则设置无效51Testing软件测试网 O?Kcp4}&Z

q xWpG7ani k0可以使用jstat命令观察perm区的情况,命令如下:
NEO ` ^.y0jstat -gcold -t 7077 1000 751Testing软件测试网6U$PO {2MV!MT

\ \riA0
6As;tn t"B\vQ0(junqinghuang原创,如果转载请注明出处)51Testing软件测试网 p`W0A'I
51Testing软件测试网!j7H%Y(i)h"\}-u

H4D4j/^r%n(BHnm0
E8^g#h/d~0

TAG: 敏捷测试

 

评分:0

我来说两句

Open Toolbar