您的位置:首页 > 编程语言 > Java开发

java.lang.OutOfMemoryError: PermGen space解决方法

2018-01-31 09:50 316 查看
问题原因:

 Permanent
Generation space,是指内存的永久保存区域。内存溢出的原因是:这部分内存用于存放Class和Meta的信息。Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage
Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

1、手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),
在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m

catalina.sh下为:
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"

2、修改vm

-Xms256M
-Xmx512M -XX:PermSize=256m
-XX:MaxPermSize=512m

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  tomcat