PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。我一般在tomcat里面加,下面说下在tomcat下加内存的两种方式。
1.工具里面加
打开MyEclipse工具,Window------->>preferences----->>搜索tomcat------>>添加:
-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M
2.直接加载tomcat的包里面
加在包里的好处就是不用每次切换工作空间后都要改下内存。找到tomcat----->>bin----->>catalina.bat
增加一条代码:
set JAVA_OPTS=%JAVA_OPTS% -server -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
-Xms:初始值
-Xmx:最大值
-Xmn:最小值
jdk8中自带了-XX:PermSize=128m -XX:MaxPermSize=512m可以去掉,下面是配3g内存的配置
set JAVA_OPTS=%JAVA_OPTS% -server -Xms128m -Xmx3072m -XX:MaxMetaspaceSize=256m
Lixun系统:找到Tomcat的Bin目录下的catalina.sh文件,搜索 cygwin=false。在该行的上一行 加上如下一段指定内存语句;
JAVA_OPTS="$JAVA_OPTS -server -Xms:512m -Xmx:512m -XX:PermSize=128m -XX:MaxPermSize=256m"
最大可以指定为服务器的 一半