【问题标题】:Java: Could not reserve enough space for object heapJava:无法为对象堆保留足够的空间
【发布时间】:2012-06-18 05:49:45
【问题描述】:

我正在尝试使用这行代码将 2 gigs 的 ram 分配给从 bat 文件启动的 java 应用程序:

 @echo off
    "%ProgramFiles(x86)%\Java\jre6\bin\java.exe" -Xmx2G -Xms1G -jar craftbukkit-1.2.5-R4.0.jar
    pause

但是,当我尝试像这样运行它时,它会吐出一条错误消息:

 Error occurred during initialization of VM
    Could not reserve enough space for object heap
    Could not create teh Java virtual machine
    Press any key to continue . . .

我的计算机中目前有 8 gig 的 ram,并且我知道我一直最多使用 3 gig(我让计算机大部分时间只运行这个服务器文件)。我有 2x4gig 的 ram 棒,所以我知道它没有分开,而且我知道我有足够的空闲 ram 来分配,为什么它不让我分配呢?我能够分配 1536M(1.5 gigs)及以下,但如果我跳到 2G,它会给我这个错误。任何帮助表示赞赏

【问题讨论】:

  • 什么版本的 Windows? 32 位版本只允许您访问大约。 3GB 内存。非服务器版本也被任意削弱,但没有那么多。
  • 我使用的是 64 位版本的 windows 编辑:删除最小 ram 也不起作用未知
  • 您的问题已经回答[这里][1] [1]:stackoverflow.com/questions/171205/…

标签: java


【解决方案1】:

您应确保您使用的是 64 位版本的 java - 32 位版本即使在 64 位窗口上也无法分配那么多

【讨论】:

  • 我显然试图用 32 位安装而不是 64 位来启动它,因此受到了限制。我刚刚将 java 路径更改为 C:\Program Files\Java\jre7\bin\java.exe,它工作正常。谢谢
  • 如你所想,我自己已经犯了这个错误——所以其他人不必这样做;)
【解决方案2】:

您只需为 tomcat 提供更多空间。 为此,您必须转到“bin”中的tomcat目录 比去 setenv.bat 文件然后增加“MaxPermSize=256m”的大小 512m就够了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 2013-08-05
    • 2013-01-17
    • 2017-05-04
    • 2013-11-04
    • 2023-03-18
    • 2020-11-26
    相关资源
    最近更新 更多