java.lang.OutOfMemoryError: PermGen space

151 阅读1分钟

一、概述

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存溢出,解决方法也一定是加大内存。

如果应用程序需要加载更多的类或者使用了大量的反射,可能会导致永久代的内存耗尽,从而抛出这个错误。

二、场景

在 IDEA中使用 Tomcat 运行项目的时候,运行时报错

三、解决办法

windows系统

在 tomcat/bin/catalina.bat 文件中:

echo Using CATALINA_BASE: "%CATALINA_BASE%"这行上面加入以下代码:

 set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256M -XX:MaxPermSize=512m

如图:

image.png 如果说是在 IDEA 中启动 Tomcat,也需要在tomcat配置中增加配置:

 -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M

如图:

image.png

到此,就可以重新运行项目了