22

我在具有 4 GB RAM 的 32 位 Windows XP 上使用 32 位 Intellij。
我正在尝试将 intellij xxx 增加到 1.5GB:-Xmx1500m
所以我知道 JVM 在 32 位系统中支持 1.5GB 的 RAM。
但是这个错误是从 JVM 抛出的:

The JVM could not be started. The maximum heap size (-Xmx) might be too large ...

我无法将 intellij Xmx 增加超过 900MB
请帮助我!

4

1 回答 1

44

您不能这样做,因为 JVM 需要将所有堆分配到一个连续的块中,这可能由于内存碎片而无法实现。有关更多详细信息,请参阅我的常见问题解答文章

另见这张图片:

JVM 堆

如您所见,总进程内存不仅仅是堆大小,它更容易达到 2GB 操作系统限制。

可以使用的实际堆因操作系统配置和正在运行的其他应用程序而异(带有钩子的 DLL 会注入进程空间并导致额外的碎片)。通常它在 512M 和 1G 之间,但在干净的系统上可能更高。

于 2012-11-21T09:17:57.607 回答