问题:启动tomcat时报一下的错误,而且一直持续不断
Exception in thread"http-bio-8080-exec-2" java.lang.OutOfMemoryError: PermGen space
Exception in thread"http-bio-8080-exec-3" java.lang.OutOfMemoryError: PermGen space
Exception in thread"http-bio-8080-exec-4" java.lang.OutOfMemoryError: PermGen space
Exception in thread"Timer-0" java.lang.OutOfMemoryError: PermGen space
解决
内存溢出啊~
解决方法: 1、 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo"Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
setJAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M-XX:MaxPermSize=512m
catalina.sh下为:
JAVA_OPTS="$JAVA_OPTS-server -XX:PermSize=128M-XX:MaxPermSize=512m"
2、修改TOMCAT_HOME/bin/catalina.bat文件的内容:在 %_EXECJAVA% %JAVA_OPTS% 后面添加:
-Xms=256m-Xmx512m
注意哦,前后有空格的
例如:%_EXECJAVA%%JAVA_OPTS% -Xms=256m -Xmx512m(空格),后面的内容不变
3、可以考虑将相同的第三方jar文件拷贝到tomcat/shared/lib 目录下,这样可以减少jar文件重复占用内存的。
4、给tomcat指定的jdk加大启动的内存参数
-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m