2
如果我尝试使用-Xmx1397m命令行参数运行超过1397mb的Java,它将无法初始化。为什么是这样?无法分配超过1397mb的JVM堆栈
IE:
“
java path\java.exe" -Xmx1397m
- >工作java path\java.exe" -Xmx1398m
- >崩溃
该机几乎未使用的RAM 100GB的,我运行32位的Java
如果我尝试使用-Xmx1397m命令行参数运行超过1397mb的Java,它将无法初始化。为什么是这样?无法分配超过1397mb的JVM堆栈
IE:
“java path\java.exe" -Xmx1397m
- >工作
java path\java.exe" -Xmx1398m
- >崩溃
该机几乎未使用的RAM 100GB的,我运行32位的Java
这是Windows上32位java的已知问题t由于地址空间碎片问题,您无法获得预期的3 GB堆。 HotSpot JVM需要一个连续的地址块作为其堆,并且一些永久映射到用户空间的共享DLL正在分割空间。
请参阅[这里](http://stackoverflow.com/questions/987219/max-amount-of-memory-per-java-process-in-windows/987576#987576)。您可能应该考虑转移到64位JVM。 – 2013-03-20 14:39:33