VM初始化期间发生错误,无法为2097152KB对象堆保留足够的空间

问题描述 投票:0回答:1

我一直在尝试找到一种方法来使这项工作有效,我使用了jarfix和最新的Java,并且弹出了同一件事,当时我试图将ram添加到Bukkit Server中,但没有任何效果,所以我还能做其他事情吗?

helper
1个回答
0
投票

最大可能的堆大小可由可用的内存空间确定。它在32位和64位上有所不同,如下所示。

2 ^ 32(〜4GB)在32位JVM上在64位JVM上为2 ^ 64(〜16EB)。

32位Java要求内存中有连续的可用空间才能运行。如果您指定大堆大小,则即使您的可用空间比必要的多得多,内存中也可能没有太多的连续可用空间。在这种情况下,安装64位版本可能会解决此问题。

您可以通过以较小的堆大小(例如-Xmx512m)运行Java来解决此错误。

java -Xmx512M MyApplication

如果在32位VM上使用-Xmx选项指定了太大的内存,则也可能会出现此错误。例如:假设您在执行以下信息时遇到了错误。

java -Xms1536M -Xmx1536M MyApplication

您可以使用小于物理内存的堆大小来运行应用程序。

java-Xms2048M -Xmx2048M MyApplication

无法为2097152kb对象堆保留足够的空间。您可能会遇到特定错误,如果使用任何工具,则无法为2097152kb对象堆保留足够的空间。这仅表示JVM默认情况下无法获取该工具所需的2 GB堆空间。

© www.soinside.com 2019 - 2024. All rights reserved.