aerospace什么意思 頁(yè)面提示permgen space是什么意思?
頁(yè)面提示permgen space是什么意思?permgen space的全稱是permanent generation space,指內(nèi)存的永久存儲(chǔ)區(qū)。這個(gè)內(nèi)存主要被JVM用來(lái)存儲(chǔ)類(lèi)和元信息。當(dāng)類(lèi)被
頁(yè)面提示permgen space是什么意思?
permgen space的全稱是permanent generation space,指內(nèi)存的永久存儲(chǔ)區(qū)。這個(gè)內(nèi)存主要被JVM用來(lái)存儲(chǔ)類(lèi)和元信息。當(dāng)類(lèi)被加載時(shí),它將被放入永久空間。它與存儲(chǔ)類(lèi)實(shí)例的頭區(qū)域不同。GC(垃圾收集)不會(huì)在主程序運(yùn)行期間存儲(chǔ)permgen空間,因此如果應(yīng)用程序中有很多類(lèi),則可能會(huì)出現(xiàn)permgen空間錯(cuò)誤,這在web服務(wù)器預(yù)編譯JSP時(shí)很常見(jiàn)。如果您的web應(yīng)用中使用了大量第三方j(luò)ar,并且它們的大小超過(guò)了JVM的默認(rèn)大?。?m),那么將生成此錯(cuò)誤消息。
myeclipse中java.lang.OutOfMemoryError:PermGenspace怎么解決?
解決方案是增加內(nèi)存。
1. permgen空間的全稱是permanent generation space,是指內(nèi)存的永久存儲(chǔ)區(qū)域。Outofmemoryerror:從表面上看,permgen空間是內(nèi)存的好處,解決方法必須是增加內(nèi)存。
2. 為什么內(nèi)存有好處:這部分用來(lái)存儲(chǔ)類(lèi)和元信息。類(lèi)在加載時(shí)被放入永久空間區(qū)域。它不同于存儲(chǔ)實(shí)例的堆區(qū)域。GC(垃圾回收)在主程序運(yùn)行期間不會(huì)清理permgen空間,因此如果您的應(yīng)用程序?qū)⒓虞d許多類(lèi),permgen空間很可能出現(xiàn)空間錯(cuò)誤。這種錯(cuò)誤在web服務(wù)器預(yù)編譯JSP時(shí)很常見(jiàn)。如果您的web應(yīng)用中使用了大量第三方j(luò)ar,并且它們的大小超過(guò)了JVM的默認(rèn)大小(4m),那么將生成此錯(cuò)誤消息。
3. 解決方案:手動(dòng)設(shè)置maxpermsize并修改TomcatHOME/bin/卡塔琳娜.sh在“echo”中使用catalog BASE:$CATALINA將以下行添加到BASE:Java OPTS=“-server-XX:PermSize=64M-XX:MaxPermSize=128m.
4。建議:將相同的第三方j(luò)ar文件移到Tomcat/shared/lib目錄下,以減少jar文檔對(duì)內(nèi)存的重復(fù)占用。
5. 有幾個(gè)原因:(1)使用Proxool,因?yàn)镻roxool包含一個(gè)舊版本的cglib。
(2)Log4j。最好不要使用普通日志記錄。
(3)舊版本的cglib,快速更新到最新版本。