我有一个从根本上需要大量内存的程序。但是,由于某种原因,当我尝试将最大堆空间设置为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位操作系统。有办法解决这个问题吗?
答案 0 :(得分:4)
可能的情况是,当您的操作系统是64位时,您的JVM却不是。打开命令行并键入java -version
将为您提供详细的版本信息,该信息应指示您安装的JVM是32位还是64位版本。
64位JVM应该没有内存限制的问题。
答案 1 :(得分:-2)
使用堆空间
-XX:MaxPermSize=64m