您的位置:首页 > 运维架构 > Tomcat

Tomcat-----------------java.lang.OutOfMemoryError: PermGen space

2009-06-16 10:47 429 查看
今天整合spring+hibernate+freemarker的时候,reload项目的时候突然tomcat报了这个错误。。。。。在网上搜索了一番,终于知道为什么了。

首先解释一下这个错误:PermGen space这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。
解决办法:

手动设置MaxPermSize大小修改TOMCAT_HOME/bin/catalina.sh 在

“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -Xms64m -Xmx256m

备注:建议将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: