Minecraft 服务器不断因内存不足而崩溃,但仍然有空交换空间

Minecraft 服务器不断因内存不足而崩溃,但仍然有空交换空间

我正在尝试在我的 ubuntu vps (openVZ) 上运行 spigot 服务器。问题是我收到了关闭服务器的“已终止”消息。经过一番研究,我发现内存不足,但我将最小和最大内存 (java) 设置为 512M(之前我有 1G,但崩溃次数更多)。我理解为什么进程会因为内存使用过多而被终止,但我不明白为什么这些进程不使用交换空间 (2gb)。

感谢您一贯快速的答复。


附言:回到 dasy,我运行同一个服务器,没有任何问题。我不知道现在我做错了什么

答案1

您可以手动分配 Java 可用于 minecraft 的 RAM 数量。来自我的世界维基

使用 Xms 和 Xmx 参数可以指定 Java 的初始和最大内存大小。默认情况下,您的服务器运行内存约为 100 MB,这非常少。大多数人会将服务器更改为运行内存更多,例如:

java -Xms512M -Xmx1G ...
java -Xms1024M -Xmx1024M ...
java -Xms1G -Xmx2G ...

答案2

Java 的内存处理有点特殊。

我对此不太了解,但你也许应该提高 XMX 和 XMS 设置。

Minecraft 不会使用您的交换:它是由 Linux 内核管理的专用空间:如果您的系统内存不足,内核将决定交换信息,但 JAVA 将首先将 Minecraft 服务器限制为您通过命令行允许的内存大小。

您的服务器最近几天确实运行良好,因为 MineCraft 在访问/制作地图时会扩展其“地图存储文件”。

因此,最初几天,你的地图足够小,可以容纳分配的内存,然后我想随着玩家爬行它确实会变大……

答案3

您可以前往软件中心并搜索 mc-server,此应用程序将弹出 mc 服务器安装程序,安装应用程序并同意 eula,然后如果您想要更改 server.properties。在 mc 服务器安装程序的 snap 菜单中,您可以选择所需的 RAM 大小,例如 4G、2G 和最高 12G

相关内容