关于java.lang.OutOfMemoryError: Java heap space和java.lang.OutOfMemoryError: PermGen space解决方案
eclipse/myeclipse都可行方法:
window系统的修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m
catalina.sh下为(未验证):
JAVA_OPTS="$JAVA_OPTS -server -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m"
--------------------------以下----------------------
各种尝试的无效方案总结:
1、eclipse.ini添加 -Xms512m、-Xmx1024m等配置
2、屏蔽tomcat监听内存过大的警告日志(具体方法忘了)
3、右键-工程-run as-run configurations-arguments-vm arguments 添加-Xms512m、-Xmx1024m等配置
各种还未尝试的方案总结:
1、java-installed jre-default vm arguments 添加-Xms512m、-Xmx1024m等配置
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、与无效方案3类似