對不起提問,應該多查了一下。32位機器上不能給JVM 3072m堆空間
我用一個相當大的數據集和一個內存敏感算法運行weka。我需要所有堆空間,我不能得到!
這工作:
java -jar -Xmx2048m weka.jar &
但這並不
java -jar -Xmx4096m weka.jar &
我得到:
Error occurred during initialization of VM Could not reserve enough
space for object heap Could not create the Java virtual machine.
通過一些簡單的搜索,我發現,這是上限
java -jar -Xmx2594m weka.jar &
我有4GB的內存,但一臺32位的機器。爲什麼我不能使用2^32字節= 4096MB的內存?
對於未來,我想知道我是否可以用例如數百GB的堆空間,如果我有正確的硬件和操作系統?
我已經安裝了1.6和1.7 JVM:
$java -showversion
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.12.04.1)
OpenJDK Server VM (build 20.0-b12, mixed mode)
http://stackoverflow.com/questions/1434779/maximum-java-heap-size-of-a-32-bit-jvm-on-a- 64位操作系統 –