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的最小限制)