【问题标题】:Can't allocate a JVM heap of more than 1397mb [duplicate]无法分配超过 1397mb 的 JVM 堆 [重复]
【发布时间】:2013-03-20 22:40:41
【问题描述】:

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

IE:

  • "java path\java.exe" -Xmx1397m -> 有效

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

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

【问题讨论】:

  • here。您可能应该考虑迁移到 64 位 JVM。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 2020-03-16
    • 2011-09-22
    • 2011-12-01
    • 1970-01-01
    相关资源
    最近更新 更多