每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
当前回答
我在使用javac时遇到了这个问题,它似乎没有选择命令行选项,
-bash-3.2$ javac -Xmx256M HelloWorldApp.java
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
所以这里的解决方案是设置_JAVA_OPTIONS
-bash-3.2$ export _JAVA_OPTIONS="-Xmx256M"
-bash-3.2$ javac HelloWorldApp.java
Picked up _JAVA_OPTIONS: -Xmx256M
这编译得很好。
我在RAM很大但内存上限较低的机器上遇到过这种情况。Java决定分配一个大堆,因为它检测到机器中的ram,但由于ulimit,它不允许分配它。
其他回答
我也有类似的问题。我在一台64位机器上安装了32位版本的Java。
通过卸载该版本并安装64位版本的Java。我解决了这个问题。
使用-XX:MaxHeapSize=512m(或任何您需要的大数字)(或-Xmx512m简称)运行JVM
在我的情况下,我不能增加org.gradle.jvmargs=-Xmx…在它。超过1GB的属性。它没有工作,因为我的机器上安装了两个Java,一个是32位的(Gradle正在使用这个),另一个是64位的。我通过添加指向64位Java的JAVA_HOME环境变量解决了这个问题。
我得到了同样的错误,它得到解决时,我删除临时文件使用%temp%和重新启动eclipse。
不需要做任何事情,只是在POM文件更改如下
<configuration>
<maxmemory>1024M</maxmemory>
</configuration>