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

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

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

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


当前回答

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

java -d64 -Xmx512M mypackage.Test

其他回答

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

java -d64 -Xmx512M mypackage.Test

不需要做任何事情,只是在POM文件更改如下

<configuration>
    <maxmemory>1024M</maxmemory>
</configuration>

错误:

对于“初始化vm时发生错误,无法为对象堆jboss预留足够的空间”的错误。

根本原因:

JVM内存分配不当/不足,如下所述。 例如,jboss-eap-6.2\bin\standalone.conf中的JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m"或jboss-eap-6.2\bin\standalone.conf.bat中的"JAVA_OPTS=-Xms1G -Xmx1G -XX:MaxPermSize=256m",这只是JVM内存分配池参数。

解决方法:

Increase the heap size. To increase the heap size, goto -> jboss-eap-6.2\bin\standalone.conf.bat or jboss-eap-6.2\bin\standalone.conf change ->JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m" where -Xms is Minimum heap size and -Xmx is Maximum heap size. Usually its not recommanded to have same size for min and max. If you are running your application from eclipse, Double click on the server select 'open launch configuration' you will be redirected to the window 'Edit launch configuration properties'. In this windown goto the tab '(x)=Arguments'. In VM Arguments, define your heap size as mentioned below "-Dprogram.name=JBossTools: JBoss EAP 6.1+ Runtime Server" -server -Xms256m -Xmx512m -XX:MaxPermSize=256m -Dorg.jboss.resolver.warning=true

不管怎样,下面是解决方法: 单击“开始”->控制面板->系统->高级(tab)->环境变量->系统变量->新建: 变量名:_JAVA_OPTIONS 变量值:-Xmx512M

OR

更改ant调用,如下所示。

   <exec
        **<arg value="-J-Xmx512m" />**
    </exec>

这对我很管用。

如果你正在运行一个java程序: -在终端上运行你的程序,使用正确的linux命令:'java -jar myprogram.jar'然后添加-Xms256m - xmx512m,例如:'java -jar myprogram.jar Xms256m - xmx512m '

如果你正在运行一个。sh脚本(linux, mac?)或一个。bat脚本(windows),打开脚本并寻找java选项,如果它们存在并增加内存。

如果以上都不起作用,检查你的进程(windows上的ctrl+alt+delete) (linux/mac上的ps aux),并杀死那些占用分配内存且对你的操作系统不需要的进程!试着重新运行程序。