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

Java无法为对象堆错误保留足够的空间,java,jvm,minecraft,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-jarminecraft.j

我在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-jarminecraft.jar
正在工作。为什么?

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

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

如果您通过java上的IBM链接,它会显示在32位windows上,建议的堆大小为1.5 GB,最大堆大小为1.8 GB。因此,您的jvm不会针对
-Xmx2G
及更高版本进行初始化


此外,如果您通过SO回答,那么很明显DLL绑定是内存保留更改的一个问题,这不是一个简单的任务。因此,建议您选择64位Windows和64位JVM。虽然它会占用更多的RAM,但您将拥有更多的连续虚拟地址空间。

这就是我的工作原理(是的,我也有同样的问题) WARE表示类似于
java-Xmx3G-Xms3G
put
java-Xmx1024M
所以run.bat应该看起来像
java-Xmx1024M-jar-bukkit.jar-o false

暂停

我遇到了这个问题。我通过下载64x的Java解决了这个问题。以下是链接:

转到
开始
→ <代码>控制面板→ <代码>系统→ <代码>高级系统设置→ <代码>高级(选项卡)→ <代码>环境变量→ <代码>系统变量→ <代码>新建:

Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M

要确保它运行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位于程序文件(x86)

双击Liferay CE服务器->将-XX:MaxHeapSize=512m添加到内存参数->启动服务器! 享受


这是我的工作

这件事发生在我身上,很容易解决

  • 您必须确保您的系统具有正确的java,例如32位或64位
  • 如果您安装了正确的软件,但仍然出现这种情况,则转到

    控制面板
    → <代码>系统→ <代码>高级系统设置适用于Windows 8或

    控制面板
    → <代码>系统和安全性→ <代码>系统→ <代码>Windows 10的高级系统设置

  • 您必须转到{advanced tab},然后单击{Environment Variables}
  • 您将单击
  • 您将创建一个新变量。变量名称:
    \u JAVA\u选项
    变量值:
    -Xmx512M

  • 至少这对我来说是有效的。

    这是Oracle Java常见问题解答中的解释-如果您安装64位版本的Java,它将直接工作。java-Xmx1240m-Xms1240m-jar-Minecraft.jar仍然不工作。@KemalTunca尝试java-Xmx1240m-jar-Minecraft.jarjava-Xmx1240m-Xms1240m-jar-Minecraft.jar仍然不工作。你能在启动jvm之前检查任务管理器吗,有多少内存可用?设置较少的内存对我根本不起作用,但这很快就奏效了。这是避免配置这么多工具的好方法。谢谢我试图在VM实例上配置该标志,但肯定是我做错了。使用系统变量要好得多,而且只需一次。谢谢你,这很有效。我在IntelliJ中构建,不得不重新启动程序,尽管您错过了
    -d64
    操作程序。这非常有效。我在IntelliJ中构建,但不得不重新启动程序。