2010-04-06 142 views
3

我有一個程序需要大量內存,並且希望將最大堆空間設置爲6024MB。 的Java給我的錯誤:java中的最大堆空間限制

Invalid maximum heap size: -Xmx6024m 
The specified size exceeds the maximum representable size. 

有沒有解決辦法?

+0

正如ThomasLötzer指出的那樣,問題可能是您正在嘗試在32位環境中執行此操作。如果情況並非如此,請告訴我們一些關於您的JVM和OS環境的信息! – 2010-04-06 09:29:14

+0

是的,不幸的是我似乎在32位環境下工作:( – Christian 2010-04-06 09:39:55

+0

好的。盒子有多少內存(可以使用),還有其他可以使用RAM的盒子嗎? – 2010-04-06 10:35:47

回答

5

在不同的Java虛擬機之間可以分配多少個堆有很大的區別。例如。 Sun的虛擬機需要將內存作爲操作系統的一個塊分配。對於Oracle的JRockit VM,此限制不存在。它也是操作系統的依賴 - 例如與Windows XP相比,我能夠使用Linux爲Sun的VM分配更多的堆。另外請注意,我讀的地方,問題消失了64位操作系統...

編輯:

Here's a blog entry大約在32位Windows操作系統的Sun的JVM和Java堆空間的問題。

1

這是一個64位虛擬機嗎?如果是這樣,你應該可以像你一樣使用開關。