每次我试图运行该程序时,都会重复得到以下异常。

虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。

我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。

我怎样才能消除这个错误?


当前回答

单击“开始”->控制面板->系统->高级(tab)->环境变量->系统变量->新建:

Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M

其他回答

结合-Xmx512M使用-d64确保您运行的是64位虚拟机。在64位的机器上,我以为我运行的是64位的虚拟机,但不是。在安装64位Java之后,-d64选项可以工作,-Xmx允许更大的内存大小。

java -d64 -Xmx512M mypackage.Test

我有适量的内存设置,但对我来说,它是使用64位intellij和32位jvm。一旦我切换到64位虚拟机,错误就消失了。

假设您有足够的空闲内存,并且正确地设置了JVM参数,那么您可能会遇到内存碎片的问题。在Windows XP上检查Java最大内存。

我最近遇到了这个问题。我有3个java应用程序,起始堆大小为1024m或1280m。 Java查看交换中的可用空间,如果没有足够的可用内存,则jvm退出。

为了解决这个问题,我不得不终止几个分配了大量虚拟内存的程序。

我在x86-64 linux和64位jvm上运行。

单击“开始”->控制面板->系统->高级(tab)->环境变量->系统变量->新建:

Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M