无法分配超过1397mb的JVM堆

时间:2013-03-20 14:37:08

标签: java jvm command-line-arguments jvm-arguments

如果我尝试使用-Xmx1397m命令行参数运行超过1397mb的Java,则无法初始化。这是为什么?

即:

  • java path\java.exe" -Xmx1397m - >工作

  • java path\java.exe" -Xmx1398m - >崩溃

该机器几乎100GB未使用的内存,而我正在运行32位java

1 个答案:

答案 0 :(得分:1)

Windows上32位java的一个已知问题是,由于地址空间碎片问题导致无法获得预期的3 GB堆。 HotSpot JVM需要一个连续的地址块用于其堆,并且一些永久映射到用户空间的共享DLL正在分割空间。