首页 文章

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

提问于
浏览
19

我在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 回答

  • 8

    转到 StartControl PanelSystemAdvanced system settingsadvanced(tab)Environment VariablesSystem VariablesNew

    Variable name: _JAVA_OPTIONS
    Variable value: -Xmx512M
    
  • 1

    如果你通过java上的this IBM链接,它说在32位窗口上推荐的堆大小是1.5 GB,最大堆大小是1.8 GB . 所以你的jvm没有被初始化为 -Xmx2G 及以上 .

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

  • 1

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

  • 48

    这对我来说是一个很容易解决的问题 .

    • 你必须确保你的系统有正确的java,比如32bit或64bit .

    • 如果您安装了正确的软件,它仍然比goto发生

    control panelsystemadvanced system settings for Windows 8或

    对于Windows 10, control panelsystem and securitysystemadvanced system settings .

    • 您必须转到{高级选项卡},然后单击{环境变量} .

    • 您将点击 <system variables> 下的{新}

    • 您将创建一个新变量 . 变量名称: _JAVA_OPTIONS 变量值: -Xmx512M

    至少这对我有用 .

  • 6

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

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

  • 6

    确保它运行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)中

  • 2

    这对我有用(是的,我有同样的问题)是说像 java -Xmx3G -Xms3Gjava -Xmx1024M 这样的东西,所以run.bat应该看起来像 java -Xmx1024M -jar craftbukkit.jar -o false PAUSE

  • 2

    双击Liferay CE服务器 - >将-XX:MaxHeapSize = 512m添加到Memory args - >启动服务器!请享用...

    这对我有用!

相关问题