tomcat:内存溢出异常解决nested exception is java.lang.OutOfMemoryError: PermGen space

最近公司有个很老的javaee项目,而且用到大量的第三方jar包,以及反射生成了太多的类,导致非堆内存中永久保存区域不够,产生了 java.lang.OutOfMemoryError: PermGen space异常。内存溢出。

解决方案

  • 给JVM加大内存

方案一:

   1.eclipse中分配内存如下,追加内容如下:

  • -Xms512m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=512m
  • 双击Tomcat server 

tomcat:内存溢出异常解决nested exception is java.lang.OutOfMemoryError: PermGen space

  • 点击Open launch configuration

tomcat:内存溢出异常解决nested exception is java.lang.OutOfMemoryError: PermGen space

  • 选择Arguments,给VM追加:-Xms512m -Xmx512m -XX:PermSize=512M -XX:MaxPermSize=512m

tomcat:内存溢出异常解决nested exception is java.lang.OutOfMemoryError: PermGen space

 

 方案二:

   2.修改tomcat的bin目录下的catalina.bat的文件,追加内容如下:

  • set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=256M -XX:MaxPermSize=512m
  • 在rem ----- Execute The Requested Command ---------------------------------------下面添加

tomcat:内存溢出异常解决nested exception is java.lang.OutOfMemoryError: PermGen space

总结:

方案一适合在本地开发使用,方案二则是上线部署时使用。根据计算机内存大小来适当分配。最后,异常完美解决了!!! java.lang.OutOfMemoryError: PermGen space。摸鱼吧!!!