Eclipse中啟動tomcat: java.lang.OutOfMemoryError: PermGen space的解決方法


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM