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

时间:2010-08-11 15:23:32

标签: java heap-memory

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

java -Xmx1582m [my program]

没关系,但是

java -Xmx1583m [my program]

给出错误

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

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

以下是我的系统配置:

Windows 7(64位)

Intel Core 2 Quad CPU

已安装的内存:8.00 GB

Java版本1.6.0

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

2 个答案:

答案 0 :(得分:4)

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

64位JVM应该没有内存限制的问题。

答案 1 :(得分:-2)

使用堆空间

-XX:MaxPermSize=64m