Java堆大小:设置太大时出错

Yuf*_*fei 3 java heap-memory

我有一个程序,基本上需要大量内存。然而,由于某种原因,当我尝试将最大堆空间设置为 1.5GB 以上时,java 给出了一个错误。也就是说,运行

java -Xmx1582m [my program]
Run Code Online (Sandbox Code Playgroud)

没关系,但是

java -Xmx1583m [my program]
Run Code Online (Sandbox Code Playgroud)

给出错误

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
Run Code Online (Sandbox Code Playgroud)

我在 Windows 命令行和 Eclipse 中都遇到了同样的错误。

这是我的系统配置:

Windows 7(64 位)

英特尔酷睿 2 四核 CPU

已安装 RAM:8.00 GB

Java版本1.6.0

奇怪的是,即使我运行的是 8 GB RAM 的 64 位操作系统,我也只能设置 1.5 GB 内存。有办法解决这个问题吗?

Tim*_*one 5

可能的情况是,虽然您的操作系统是 64 位,但 JVM 不是。打开命令行并输入java -version将为您提供详细的版本信息,该信息应指示您安装的 JVM 是 32 位还是 64 位版本。

64 位 JVM 应该不会遇到更高的内存限制。