27

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

4

8 回答 8

64

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

Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
于 2014-06-25T10:19:24.333 回答
10

如果您通过java 上的这个IBM 链接,它说在 32 位 Windows 上,推荐的堆大小为 1.5 GB,最大堆大小为 1.8 GB。所以你的jvm不会被初始化为-Xmx2G及以上。

此外,如果您通过这个SO 答案,显然 DLL 绑定是内存预留更改的问题,这不是一项简单的任务。因此,可能建议您使用 64 位 Windows 和 64 位 JVM。虽然它会消耗更多的 RAM,但您将拥有更多连续的虚拟地址空间。

于 2013-08-04T06:55:44.697 回答
9

这发生在我身上,而且很容易解决。

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

    control panelsystemadvanced system settings适用于 Windows 8 或

    control panelsystem and securitysystemadvanced system settings适用于 Windows 10。

  3. 您必须转到{高级选项卡},然后单击{环境变量}。
  4. 您将点击下方的 {New}<system variables>
  5. 您将创建一个新变量。变量名:_JAVA_OPTIONS 变量值:-Xmx512M

至少这对我有用。

于 2015-10-13T00:39:31.380 回答
8

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

于 2014-04-25T14:20:03.147 回答
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 驻留在程序文件(x86)中

于 2014-08-10T02:06:03.527 回答
2

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

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

于 2013-08-04T06:37:28.913 回答
1

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

于 2014-03-01T14:23:21.857 回答
1

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

这对我有用!

于 2015-09-25T15:09:51.667 回答