首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Tomcat停运行WEB项目内存溢出的情况

2012-07-18 
Tomcat下运行WEB项目内存溢出的情况。导致原因:SUN的JVM的PermSize默认值太小,导致了java.lang.OutOfMemory

Tomcat下运行WEB项目内存溢出的情况。
导致原因:SUN的JVM的PermSize默认值太小,导致了java.lang.OutOfMemoryError: PermGen space异常。

解决办法:
1. 使用带有脚本的Tomcat。
2. 如果系统已经运行安装过tomcat安装包,那么在系统环境中会有CATALINA_BASE,CATALINA_HOME,等配置,这些配置是全局的,应该删去。由于tomcat的启动脚本会配置临时的启动参数,所以不会影响tomcat的启动。
3. 参数配置建议在catalina.bat文件的Execute The Requested Commnad注释之后。
4. 在添加参数时,需要保持原有参数不被全部覆盖,比如添加配置项到JAVA_OPTS,应该首先set JAVA_OPTS=%JAVA_OPTS%,之后再添加-server -XX:PermSize=128M -XX:MaxPermSize=512m参数。
5. 在配置完成PermSize后,还有可能出现java.lang.OutOfMemoryError: Java heap space。这是由于JVM的内存限制导致的。可以添加参数-Xms250m -Xmx1000m来配置,具体配置的内存数量因更具发布系统的内存容量来确定。

配置样例:
windows:
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

linux:
JAVA_OPTS=$JAVA_OPTS -Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m

热点排行