2013-03-25 64 views
1

我有一個out of space : perm gen錯誤,我不知道該怎麼辦。我使用的是Apache Tomcat,但我沒有完全訪問服務器。內存不足:Perm Gen Space

+0

向我們展示一些代碼,異常跟蹤或其他內容。 – Manish 2013-03-25 04:01:11

+1

不要告訴我'谷歌'沒有顯示任何結果**內存不足:Perm Gen Space **! – SudoRahul 2013-03-25 04:02:28

+0

基本上有兩種常用方法:1.減少內存消耗,2.增加內存容量 – gerrytan 2013-03-25 04:08:16

回答

2

這表明內存泄漏*導致Java在Perm Gen中創建了太多對象,這是爲非常長壽命(永久)內存保留的一部分內存。如果您沒有完全訪問服務器的權限,則可能是a)不是您的問題,您應該警告系統管理員或b)您的代碼存在問題,如果您不顯示,則無法提供幫助你在做什麼。

如果您不確定它是a)還是b),請嘗試恢復您的更改/查看是否有其他人有相同的問題。如果不管你看到這個錯誤,那就是a)。如果你能夠通過刪除你的代碼來阻止這個錯誤,那就是b)。你可能做的一切都是完全正確的,只需要增加服務器上的PermGen設置,但是因爲像你說的那樣,它不是你的機器,這似乎不太可能是解決方案。

+0

它不一定表示「泄漏」;執行的代碼完全有可能只需要比默認MaxPermSize更多的資源。 – TML 2013-03-25 05:36:59

1

您可以使用:

-XX:MaxPermSize參數=128米 增加的空間。但這種通常只會推遲不可避免的事情。

您也可以啓用PermGen垃圾收集