問題:啟動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