每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
当前回答
打开它。android文件夹中的属性文件。
替换这一行:
org.gradle.jvmargs=-Xmx1536M
:
org.gradle.jvmargs=-Xmx512m
解释: 从Gradle文件的最大限制:
如果请求的构建环境没有指定最大堆大小,守护进程将使用最多512MB的堆。
其他回答
我在使用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,它不允许分配它。
结合-Xmx512M使用-d64确保您运行的是64位虚拟机。在64位的机器上,我以为我运行的是64位的虚拟机,但不是。在安装64位Java之后,-d64选项可以工作,-Xmx允许更大的内存大小。
java -d64 -Xmx512M mypackage.Test
打开它。android文件夹中的属性文件。
替换这一行:
org.gradle.jvmargs=-Xmx1536M
:
org.gradle.jvmargs=-Xmx512m
解释: 从Gradle文件的最大限制:
如果请求的构建环境没有指定最大堆大小,守护进程将使用最多512MB的堆。
我最近遇到了这个问题。我有3个java应用程序,起始堆大小为1024m或1280m。 Java查看交换中的可用空间,如果没有足够的可用内存,则jvm退出。
为了解决这个问题,我不得不终止几个分配了大量虚拟内存的程序。
我在x86-64 linux和64位jvm上运行。
下面是解决方法:
进入“开始->控制面板->系统->高级(tab)->环境变量->系统 变量->新:变量名:_JAVA_OPTIONS 变量值:-Xmx512M 变量名:Path C:\Program Files\Java\jre6\bin;F:\JDK\bin;
将其更改为适当的路径。