每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
当前回答
如果您运行的是32位JVM,那么将堆大小更改为较小可能会有所帮助。你可以通过直接向java传递参数或通过环境变量来做到这一点,
java -Xms128M -Xmx512M
JAVA_OPTS="-Xms128M -Xmx512M"
对于64位JVM,更大的堆大小,如-Xms512M -Xmx1536M应该可以工作。
为Java7运行java -version或java -d32, java——d64来检查您正在运行的版本。
其他回答
我得到了同样的错误,它得到解决时,我删除临时文件使用%temp%和重新启动eclipse。
结合-Xmx512M使用-d64确保您运行的是64位虚拟机。在64位的机器上,我以为我运行的是64位的虚拟机,但不是。在安装64位Java之后,-d64选项可以工作,-Xmx允许更大的内存大小。
java -d64 -Xmx512M mypackage.Test
这也可能是由于在32位HotSpot vm上设置过大而导致的,例如:
-Xms1536m -Xmx1536m
这可能/将会工作的地方:
-Xms1336m -Xmx1336m
使用-XX:MaxHeapSize=512m(或任何您需要的大数字)(或-Xmx512m简称)运行JVM
下面是解决方法:
进入“开始->控制面板->系统->高级(tab)->环境变量->系统 变量->新:变量名:_JAVA_OPTIONS 变量值:-Xmx512M 变量名:Path C:\Program Files\Java\jre6\bin;F:\JDK\bin;
将其更改为适当的路径。