2014-03-28 92 views
0

我有一個ATG灰塵應用程序。要測試我的ATG應用程序,我通過右鍵單擊粉塵應用程序 - >構建路徑 - >鏈接源 - >選擇我的ATG應用程序,將ATG應用程序鏈接到粉塵應用程序。 ATG應用程序是一個大的應用程序。當我嘗試清理構建DUSt應用程序,我得到異常像「發生內存異常已發生。請參閱」運行Eclipse「部分.....」Eclipse內存不足

在eclipse .log文件中有以下例外記錄,

// From the Log File 
    !ENTRY org.eclipse.core.jobs 4 2 2014-03-27 06:56:26.549 
    !MESSAGE An internal error occurred during: "Launching SampleTest". 
    !STACK 0 

// Exception 
java.lang.OutOfMemoryError: Java heap space 
     at java.util.Arrays.copyOfRange(Unknown Source) 
     at java.lang.String.<init>(Unknown Source) 
+1

嘗試增加堆大小。 https://stackoverflow.com/questions/1565388/increase-heap-size-in-java – SaurabhJinturkar

+0

你的問題是什麼?你只要告訴我們你有什麼,而不是你在找什麼。 – Calon

回答

2

只需在eclipse中右鍵單擊您的文件並選擇Run as - > Run configuration。 這將打開運行配置對話框。點擊在參數標籤

中輸入該值

    -Xms1024m -Xmx3072m -XX:MaxPermSize=1024M 

在VM參數,並按運行

+0

如果它工作正常,對於您,請不要忘記投票答覆,以便其他人可以找到與堆空間內存不足相關的問題。 –

+0

我得到這個錯誤,在虛擬機初始化期間發生錯誤 對象堆+ VM數據的大小超過最大可表示大小 – user2390438

+0

您也可以在項目級別設置堆大小,如果您的項目是基於maven的,您可以設置在pom.xml中也是如此。 –

1

內存不足問題的是什麼,發生是由於不當處理堆。您必須優化代碼才能避免這種情況。作爲臨時修復,您可以增加堆空間。

-XX:MaxPermSize=512m 
-Xms512m 
-Xmx1024m 
+0

+1「堆處理不當」。單獨增加xmx可能只會有助於下一個版本的代碼。 – Calon

0

就像Dileep說的那樣,問題可能是堆空間的處理不當。

增加heapsize可能無法解決問題,但解決它一段時間。您可以在eclipse.ini中設置參數-XX:+HeapDumpOnOutOfMemoryError。這將寫出一個堆轉儲,可以使用Eclipse Memory Analyzer等工具對其進行分析。在使用更多空間之前,請確保您沒有內存泄漏。

你的情況java.util.Arrays.copyOfRange正在複製數組的部分。你可以從檢查他們的大小開始。