![](/img/trans.png)
[英]How to remove the Exception in thread “http-bio-8080-exec-5” java.lang.OutOfMemoryError: GC overhead limit exceeded?
[英]Maven “Exception in thread ”http-bio-8080-exec-32“ java.lang.OutOfMemoryError: PermGen space”
我在Ubuntu 11.10下使用Struts2 + Spring和Hibernate框架在NetBeans中創建了一個項目。 第一次運行是好的,但是當我第二次或第三次運行它時,我一直得到這個例外。 沒有Maven一切順利。 我用apt-get install
安裝了maven,是的,我在usr/bin/mvn
添加了這行export MAVEN_OPTS=-Xmx512m
,但沒有運氣。 如何從中獲得更好的表現?
你應該添加這一行:
export MAVEN_OPTS="-Xmx512M -XX:MaxPermSize=512M"
請注意,有些用戶報告說雙引號存在問題,因此您可能希望使用:
export MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=512M
編輯:
由於您使用的是Tomcat,請使用以下命令:
當對象沒有正確清理其內存時,permgen空間通常會拋出此錯誤。 通常導致“孤島”的對象仍然指向他們,但你作為程序員不能訪問這些參考,因為他們住在你的空間之外。 你可能正在使用一個導致這個問題的庫,它可能不會消失,直到你停止使用這個庫。 至於哪個圖書館,我不確定,有很多文章解釋如何找到這個,但這是一件苦差事,可能需要一段時間,除非你很幸運。 內存分析器可以提供一些想法。
-Xmx512m
對你沒有幫助,因為你正在增加堆空間。 你的PermGen空間用完了,而不是堆空間。
嘗試增加PermGen空間並放置一些標記來裝飾它。 以下是更多信息: Tomcat 6中的重復“PermGen”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.