解決Eclipse Tomcat OutOfMemoryError:PermGen space的問題
PermGen space的全稱是Permanent Generation space,是指內存的永久保存區(qū)域OutOfMemoryError: PermGen space。從文字上看就是內存溢出,解決方法是加大內存。為什么會內存溢出,這是由于這塊內存主要是被JVM存放Class和Meta信息的,Class在被Load的時候被放入PermGen space區(qū)域,它和存放Instance的Heap區(qū)域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現(xiàn)PermGen space錯誤。這種錯誤常見在web服務器對JSP進行pre compile的時候。如果你的WEB APP下都用了大量的第三方jar, 其大小超過了jvm默認的大小(4M)那么就會產生此錯誤信息了。
問題背景:
Tomcat啟動了太多的項目,或者有的項目引用了太多的jar包,或者反射生成了太多的類,異或有太多的常量池,就有可能會報java.lang.OutOfMemoryError: PermGen space的錯誤,我們知道可以通過jvm參數(shù) -XX:MaxPermSize=256m來配置這部分堆內存的大小。
在eclipse中如何配置tomcat的內存大小呢?
手動設置MaxPermSize大小
首先需要雙擊tomcat server,如下圖所示:

雙擊上圖后會出現(xiàn),tomcat配置的界面:

然后再點擊上圖的,紅色矩形框的鏈接,會彈出tomcat參數(shù)配置的節(jié)面,要選擇Arguments參數(shù)框:

如上圖在VM arguments文本框內設置 -XX:MaxPermSize=256m的值即可, 當然此處還可以添加其他jvm參數(shù),比如最大內存,最小內存等。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
深入淺出MyBatis中映射文件和實體類的關聯(lián)性
這篇文章主要介紹了MyBatis中映射文件和實體類的關聯(lián)性的相關知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
快速搭建Spring Boot+MyBatis的項目IDEA(附源碼下載)
這篇文章主要介紹了快速搭建Spring Boot+MyBatis的項目IDEA(附源碼下載),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
Java矩陣連乘問題(動態(tài)規(guī)劃)算法實例分析
這篇文章主要介紹了Java矩陣連乘問題(動態(tài)規(guī)劃)算法,結合實例形式分析了java實現(xiàn)矩陣連乘的算法原理與相關實現(xiàn)技巧,需要的朋友可以參考下2017-11-11
Java Spring Cloud Bus 實現(xiàn)配置實時更新詳解
這篇文章主要介紹了SpringCloud Bus如何實現(xiàn)配置刷新,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2021-09-09

