2009-12-11 82 views
1

我在我的電腦上安裝了2gb ram。它的一個Windows 7 使用Eclipse的Java 當我運行一個程序,運行mysql數據庫選擇查詢與40萬條記錄時,它給堆大小錯誤。 這是我現在的eclipse.ini選擇0.4百萬記錄的java堆大小錯誤

-vmargs 
-Xmx1000m 
-XX:MaxPermSize=256m 
-XX:ReservedCodeCacheSize=64m 

我該怎麼辦?

+0

你的eclipse.ini設置所產生的堆轉儲不相關,如果您從Eclipse內部運行程序,它將在其自己的JVM中啓動。 eclipse.ini設置僅適用於Eclipse本身,不適用於您自己的程序。其後一種情況是 – Jesper 2009-12-11 13:34:02

回答

1

編輯:你在談論你的eclipse.ini?當然,您應該使用調試配置,以指定的參數:

運行>調試配置...> [配置]>參數> VM參數

有多大是一個行? 1000 MB/400,000條記錄=每行最多2,5 KB(由於您無法使用整個堆,因此數量會更少)。

(請注意我用1MB = 10^6個字節)

這行規模都很小,-XX運行應用程序:+ HeapDumpOnOutOfMemoryError和分析使用 MAT

1

您是在Eclipse插件中運行查詢還是使用Eclipse來運行Java程序?在後一種情況下,eclipse.ini中的設置不會被繼承。您必須在應用的啓動配置中重複該步驟。

+0

。我使用eclipse來運行java程序。如何設置程序的啓動配置。 – silverkid 2009-12-11 12:55:42

+1

使用「運行」菜單並點擊「運行配置...」。您將得到一個對話框,您可以在其中修改傳遞給程序的選項以及傳遞給VM的選項。 – 2009-12-11 13:17:37