2013-01-16 17 views
1

我想增加Eclipse中程序的Java堆空間。與虛擬機的參數-Xmx1500m增加堆空間是沒有問題的,但我得到了下面的錯誤,如果我有6 GB增加它:增加Java heapspace:Eclipse與BAT-script

無效的最大堆大小:-Xmx6G

指定的大小超過最大可表示的大小。

如果我導出我開發的程序並將其作爲jar文件在控制檯中的bat-script中運行,則不會發生此問題。

有人知道爲什麼這個問題只發生在Eclipse中嗎?

我的系統:

  • Windows 7中,64位
  • 16GB RAM
  • 的Eclipse朱諾,64位
+0

您是否嘗試過[this](http://edwards.sdsu.edu/labsite/index.php/daniel/236-increasing-heap-size-在月食)? –

回答

3

的消息告訴你,-Xmx6G太大的JVM可執行文件Eclipse正在嘗試啓動。它抱怨這麼小的事實告訴我,Eclipse必須嘗試啓動一個32位JVM而不是一個64位的JVM。相反,當你從命令行運行時,你會得到一個64位的JVM。

我的結論是,您同時安裝了32位和64位JRE/JDK,並且您已經以某種方式配置了Eclipse,以便爲應用程序使用32位JVM。

(我也試着用小寫'g'...)

3

嘗試讀取這個文件:http://javahowto.blogspot.co.uk/2006/06/6-common-errors-in-setting-java-heap.html。凡其提供的6個常見與Java堆大小設置相關的錯誤。在你的情況下,問題如下:

問題:堆大小比JVM認爲你需要的大。例如:

java -Xmx256g BigApp 
    Invalid maximum heap size: -Xmx256g 
    The specified size exceeds the maximum representable size. 
    Could not create the Java virtual machine. 

解決方案:

The fix is to lower it to a reasonable value: java -Xmx256m BigApp 
+0

是的。那是>>一個<<修復。但它不是>>修正,因爲在這種情況下,OP需要運行一個大堆的Eclipse。 –

1

謝謝Stephen C!

不知何故,有兩個JRE安裝(我假設奇怪的更新)。完全重新安裝Java解決了這個問題。不過,我不能只是在日食中更改JRE ...

+0

由於我們正在使用這個工具進行一些數據挖掘任務,我們需要大量的內存。所以我們真的需要這些RAM來接受訓練有素的模型。 – sisu