每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
当前回答
不需要做任何事情,只是在POM文件更改如下
<configuration>
<maxmemory>1024M</maxmemory>
</configuration>
其他回答
我知道这里已经有很多答案了,但没有一个能帮到我。最后,我打开文件/etc/elasticsearch/jvm。选项和更改:
-Xms2G
-Xmx2G
to
-Xms256M
-Xmx256M
这为我解决了问题。希望这能帮助到这里的其他人。
我最近遇到了这个问题。我有3个java应用程序,起始堆大小为1024m或1280m。 Java查看交换中的可用空间,如果没有足够的可用内存,则jvm退出。
为了解决这个问题,我不得不终止几个分配了大量虚拟内存的程序。
我在x86-64 linux和64位jvm上运行。
我得到了同样的错误,并通过在run.conf.bat中配置它来解决这个问题
在Jboss5x中使用配置Run .conf.bat运行JVM
如果在传递语句时没有可用的空闲内存,请在run.conf.bat中进行更改
set "JAVA_OPTS=-Xms512m -Xmx512m -XX:MaxPermSize=256m"
32位Java需要内存中连续的空闲空间才能运行。如果指定较大的堆大小,则内存中可能没有那么多连续的空闲空间,即使可用的空闲空间比必需的大得多。
在这些情况下,安装64位版本的Java会有所帮助,因为连续内存要求只适用于32位Java。
在CASSANDRA_HOME/bin/cassandra.bat中,您会发现以下配置
REM JVM Opts we'll use in legacy run or installation
set JAVA_OPTS=-ea^
-javaagent:"%CASSANDRA_HOME%\lib\jamm-0.3.0.jar"^
-Xms**2G**^
-Xmx**2G**^
你可以将2G减少到更小的数字,例如1G或更小,它应该可以工作。
如果你是在unix系统上运行,同样,适当地改变.sh文件。