一、概述
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
如图:
如果说是在 IDEA 中启动 Tomcat,也需要在tomcat配置中增加配置:
-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=256M
如图:
到此,就可以重新运行项目了