【发布时间】:2011-03-28 11:05:57
【问题描述】:
我有一个基本上需要大量内存的程序。但是,由于某种原因,当我尝试将最大堆空间设置为 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 位)
英特尔酷睿 2 四核 CPU
安装的内存:8.00 GB
Java 版本 1.6.0
奇怪的是我只能设置 1.5GB 内存,即使我运行的是 64 位操作系统和 8 GB RAM。有没有办法解决这个问题?
【问题讨论】:
-
您使用的是适用于 Windows 还是 Windows x64 的 JRE?
-
我知道您说您有 8GB 的 RAM,但错误文本与“您使用的堆比可用内存大”错误相匹配。我认为这可能是 JVM 的限制,但我仍在研究它。
-
我的 java -version 说:java 版本 "1.6.0_21" Java(TM) SE 运行时环境 (build 1.6.0_21-b07) Java HotSpot(TM) Client VM (build 17.0-b17, mixed模式,共享)我不知道这是 32 位还是 64 位。
-
查看this question 获取 JVM 信息。
标签: java heap-memory