我一直都能够为在32位Windows XP上运行的Java SE分配1400兆字节的内存(Java 1.4、1.5和1.6)。
java -Xmx1400m ...
今天我在一台新的Windows XP机器上尝试了相同的选项,使用了Java 1.5_16和1.6.0_07,并得到了以下错误:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
经过试错,似乎在这台机器上我可以分配最多1200兆字节。
有什么想法为什么一台机器可以允许1400,而另一台只能允许1200?
编辑:该机器有4GB的RAM,大约有3.5GB可以被Windows识别。