tomcat启动的时候出现这种错误一般是项目引用了太多的jar包,或者反射生成了太多的类,或者有太多的常量池,导致非堆内存中永久保存区域不够,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误,
这种情况可以通过jvm参数 -XX:PermSize=256M -XX:MaxPermSize=512m
来配置这部分内存的大小(注意:此处内存是不会被java垃圾回收机制进行处理的地方,要合理配置,更不能超出操作系统的可用内存)。
具体设置步骤如下:
1.双击server中配置的tomcat
2.点击Open launch configuration
3.在打开的窗口中切换到Arguments选项,在VM arguments进行配置
到此配置完毕,当然在该区域还可以配置其他JVM参数,比如:初始堆大小(-Xms512m)和最大堆大小(-Xmx512m),
堆内存被jvm的垃圾回收机制管理,为避免在每次GC 后调整堆的大小,浪费资源,
服务器一般设置-Xms、-Xmx相等(默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制)