每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
每次我试图运行该程序时,都会重复得到以下异常。
虚拟机初始化时出错 无法为对象堆预留足够的空间 无法创建Java虚拟机。
我试图增加我的虚拟内存(页面大小)和RAM大小,但没有效果。
我怎样才能消除这个错误?
当前回答
假设您有足够的空闲内存,并且正确地设置了JVM参数,那么您可能会遇到内存碎片的问题。在Windows XP上检查Java最大内存。
其他回答
如果您运行的是32位JVM,那么将堆大小更改为较小可能会有所帮助。你可以通过直接向java传递参数或通过环境变量来做到这一点,
java -Xms128M -Xmx512M
JAVA_OPTS="-Xms128M -Xmx512M"
对于64位JVM,更大的堆大小,如-Xms512M -Xmx1536M应该可以工作。
为Java7运行java -version或java -d32, java——d64来检查您正在运行的版本。
我也有类似的问题。我在一台64位机器上安装了32位版本的Java。
通过卸载该版本并安装64位版本的Java。我解决了这个问题。
这也可能是由于在32位HotSpot vm上设置过大而导致的,例如:
-Xms1536m -Xmx1536m
这可能/将会工作的地方:
-Xms1336m -Xmx1336m
在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文件。
不需要做任何事情,只是在POM文件更改如下
<configuration>
<maxmemory>1024M</maxmemory>
</configuration>