避免初始内存堆大小错误

2022-09-02 03:33:08

我使用以下命令运行Java代码:

$ java -Xms4G -Xmx4G myjavacode

我的CPU的内存容量是6GB。

但是,它总是无法执行,给我这个错误消息:

Invalid initial heap size: -Xms5G
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine

有没有办法设置Java选项,以便我们可以执行代码?


答案 1

您已超出 JVM 的最大堆大小。这既依赖于 JVM,也取决于操作系统。在大多数 32 位系统中,无论可用的物理内存如何,最大值都将为 2Gb。


答案 2

缺省情况下,Java 将以 32 位方式运行。请务必为其提供 -d64 选项,以将其置于 64 位模式。进入 64 位模式后,分配 6GB JVM 应该不会有任何问题。