如果我尝试使用-Xmx1397m命令行参数运行超过1397mb的Java,则无法初始化。这是为什么?
即:
“java path\java.exe" -Xmx1397m
- >工作
java path\java.exe" -Xmx1398m
- >崩溃
该机器几乎100GB未使用的内存,而我正在运行32位java
答案 0 :(得分:1)
Windows上32位java的一个已知问题是,由于地址空间碎片问题导致无法获得预期的3 GB堆。 HotSpot JVM需要一个连续的地址块用于其堆,并且一些永久映射到用户空间的共享DLL正在分割空间。