Java无法为对象堆错误保留足够的空间

时间:2013-08-04 06:35:55

标签: java jvm minecraft

我在32位Windows和4 GB RAM上运行Java7,但是:

java -Xmx4G -Xms4G -jar Minecraft.jar 
java -Xmx3G -Xms3G -jar Minecraft.jar 
java -Xmx2G -Xms2G -jar Minecraft.jar

......仍然无效。错误:

  

VM初始化期间发生错误       无法为对象堆保留足够的空间
      错误:无法创建Java虚拟机       错误:发生了致命异常。程序将会退出。

java -Xmx1G -Xms1G -jar Minecraft.jar正在运作。为什么呢?

8 个答案:

答案 0 :(得分:52)

转到StartControl PanelSystemAdvanced system settingsadvanced(tab)Environment VariablesSystem Variables→{{1 }}:

New

答案 1 :(得分:9)

如果你通过java上的this IBM链接,它说在32位窗口上推荐的堆大小是1.5 GB,最大堆大小是1.8 GB。因此,您的jvm不会被-Xmx2G及更高版本初始化。

此外,如果你通过this SO回答,显然DLL绑定是内存预留更改的问题,这不是一件轻而易举的事。因此,建议您使用64位Windows和64位JVM。虽然它会占用更多的RAM,但你将拥有更多连续的虚拟地址空间。

答案 2 :(得分:6)

我有这个问题。我通过下载64x的Java解决了这个问题。这是链接:http://javadl.sun.com/webapps/download/AutoDL?BundleId=87443

答案 3 :(得分:6)

这对我来说很容易解决。

  1. 您必须确保您的系统具有正确的java,例如32位或64位。
  2. 如果您安装了正确的软件并且仍然比goto

    更新 对于Windows 8,

    control panelsystemadvanced system settings

    对于Windows 10,

    control panelsystem and securitysystemadvanced system settings

  3. 您必须转到{高级标签},然后点击{环境变量}。
  4. 您将点击<system variables>
  5. 下的{新}
  6. 您将创建一个新变量。变量名称:_JAVA_OPTIONS变量值:-Xmx512M
  7. 至少那对我有用。

答案 4 :(得分:3)

确保它运行64位版本的java,如下所示:

“c:\ Program Files \ Java \ jre7 \ bin \ java.exe”-Xmx1536M -Xms1536M -XX:MaxPermSize = 256M -jar forge-1.6.4-9.11.1.965-universal.jar

看看你安装的jre版本以防万一.. x64应该在程序文件中,而x32驻留在Program Files(x86)

答案 5 :(得分:2)

4gb RAM并不意味着你可以将它全部用于java进程。系统进程需要大量RAM。 不要超过2GB,否则会有些麻烦。

在启动jvm之前,只需检查可用的RAM数量,然后相应地设置内存。

答案 6 :(得分:1)

这对我有用(是的,我遇到了同样的问题) 是java -Xmx3G -Xms3Gjava -Xmx1024M之类的东西 所以run.bat应该是这样的 java -Xmx1024M -jar craftbukkit.jar -o false PAUSE

答案 7 :(得分:1)

双击Liferay CE服务器 - &gt; add -XX:MaxHeapSize = 512m to Memory args - &gt;启动服务器! 享受...

这对我有用!