2010-03-02 103 views
0

JBoss崩潰,出現內存不足錯誤,我該如何防止這種情況?我修改了run.bat中的值,但結果相同。 「 - Xms1024 Xmx1024 PermGen512」JBoss5.X內存不足錯誤

回答

3

您可能會遇到資源泄漏,在這種情況下,除了查找和刪除泄漏之外,任何情況都只會延遲該錯誤,而不會阻止該錯誤。 jhat & -XX:+HeapDumpOnOutOfMemoryError將允許您在OOM時檢查堆中的物體,這是一個體面的開始,以確定您的泄漏位置是否有泄漏&。

對於run.bat,您列出的選項可能無法按照您的打算方式工作。我一定要明確指定「m」egabyte(千字節?千兆字節?mb似乎最有可能)後綴,並在初始大小之前設置最大大小。所以,-Xmx1024m -Xms1024m -XX:MaxPermSize=512M

512兆字節,順便說一句,是一個永恆的一代的大尺寸。也許你的意思是kb ?.您可以使用jstat或將-XX:-PrintGCDetails添加到run.bat中,以查看實際使用的永久生成空間有多少。

0

到JBoss版本:版本:5.0.0.GA,而運行在JBoss中的應用程序,我所面臨的內存不足的錯誤,因爲來自應用程序的大數據處理。

要解決相同的或者可以優化代碼,以便在處理會有較少的數據在堆存儲器或可以增加JBOSS的堆內存:

JAVA_OPTS =「 - Xmx4096m -Xms4096m -XX: MaxNewSize =896米-XX:新尺寸=896米

您可以更改內存值按照您的要求

如果出現內存不足的錯誤與PermGen的空間的問題來了,那麼你就可以重新啓動服務器來解決一樣。你可以通過改變下面提到的變量的內存值來限制它:

-XX:MaxPermSize參數=256米

謝謝, ANKIT Adlakha