解決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)那么就會產(chǎn)生此錯誤信息了。
問題背景:
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ù),比如最大內存,最小內存等。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
詳細總結Java堆棧內存、堆外內存、零拷貝淺析與代碼實現(xiàn)
零拷貝,這是個耳熟能詳?shù)拿~,是開發(fā)崗面試中經(jīng)常提及的問題.最近在回顧Netty的基礎原理,還是把NIO中關于堆外內存的知識點過了一遍,這里就針對堆棧內存 堆外內存和零拷貝這幾個概念以及相關知識做一下記錄,需要的朋友可以參考下2021-05-05SpringBoot中使用websocket出現(xiàn)404的解決方法
在Springboot中使用websocket時,本地開發(fā)環(huán)境可以正常運行,但部署到服務器環(huán)境出現(xiàn)404問題,所以本文小編講給大家詳細介紹一下SpringBoot中使用websocket出現(xiàn)404的解決方法,需要的朋友可以參考下2023-09-09SpringSecurity詳解整合JWT實現(xiàn)全過程
JWT作為一個開放的標準(?RFC?7519?),定義了一種簡潔的,自包含的方法用于通信雙方之間以Json對象的形式安全的傳遞信息。接下來通過本文給大家介紹springSecurity+jwt實現(xiàn)互踢功能,需要的朋友可以參考下2022-07-07