网站搜索

如何为 Minecraft 服务器分配更多 RAM


如果您最近向您的 Minecraft 服务器添加了更多玩家、更多模组或两者,那么可能是分配更多 RAM 的时候了。以下是如何获得更流畅的游戏体验。

增加服务器 RAM 有什么好处?

分配更多 RAM 不一定是灵丹妙药——通常优化服务器本身是比投入更多 RAM 解决问题更好的解决方案——但在某些情况下需要这样做。

Minecraft 是一款资源密集型游戏,增加分配给服务器的 RAM 量可以解决各种问题,从幻影块到玩家在地图上移动时出现橡皮筋和口吃。

随着您增加玩家数量、添加插件和模组、构建越来越复杂的项目(如自动物品分类器、农场等)等等,您对服务器的需求也会增加。如果你已经从和一个朋友在土屋里露营到和十个人一起建造一个精心制作的红石作品,可能是时候分配更多的 RAM 了。

在哪里可以使用此方法?

有多种方式来托管 Minecraft 服务器。为了节省您的时间,让我们先谈谈您可以和不可以使用我们即将概述的方法的地方。

Minecraft 领域:RAM 分配是自动的

如果您使用的是官方 Mojang 服务器主机 Minecraft Realms,则无法调整您的 RAM 分配——您也不需要这样做。

Minecraft Realms 最初托管在 Amazon Web Services (AWS) 服务器上,现在在 Microsoft 收购 Mojang 后迁移到 Microsoft Azure 服务器上。 Realms 一直使用动态内存分配系统。您的 Realms 服务器只需增加或减少它使用的 RAM 量,而无需 Realms 所有者的任何干预。

Minecraft 主机:您必须为更多 RAM 付费

如果您使用的是商业 Minecraft 主机,您通常需要为特定级别的硬件付费。鉴于此,您不能只增加 RAM 分配——您必须为更高的层级付费。

有时您可以简单地跳转到网站并即时升级,有时您必须提交支持票并等待。查看您的 Minecraft 主机的文档以获取更多信息。不过,在您急于为更多 RAM 付费之前,我们建议您先了解一下您真正需要多少 RAM,以及如何通过使用更优化的 Minecraft 服务器版本来避免为升级付费。

自托管:您可以自行调整 RAM

如果您在家中的硬件上或远程租用的硬件上自行托管您的 Minecraft 服务器,您可以将 RAM 分配增加到硬件本身施加的限制和主机系统的开销需求。让我们看看你现在是怎么做的。

如何为您的 Minecraft 服务器分配更多 RAM

服务器的 server.properties 文件中有很多变量可以设置游戏模式、视野距离等。但是,您不会找到任何 RAM 分配条目。

相反,RAM 分配由在启动期间传递给服务器软件的命令行参数处理。您可以使用标志 --Xmx--Xms 设置堆的大小或内存分配,它们分别指定最大和初始堆大小。您可以使用带有标志的兆字节或千兆字节名称,例如 1024M 或 1G。

让我们看一个示例启动命令并分解所有部分。

java -Xmx1024M -Xms1024M -jar server.jar nogui

在上面的命令中,我们调用 Java,我们指定起始堆大小为 1024M,最大堆大小为 1024M。 -jar server.jar 部分简单地将 Java 的 jar 归档工具指向服务器文件,nogui 标志阻止服务器创建 GUI 窗口。如果您想要一个包含性能统计信息、播放器列表和服务器日志实时视图的 GUI 窗口,您可以关闭 GUI 标志。

如果我们想将 RAM 分配增加到 2GB,您可以简单地关闭服务器并以增加的值再次运行它:

java -Xmx2048M -Xms2048M -jar server.jar nogui

您可能已经注意到,我们没有在命令中指定一个范围,例如 512M 到 2048M,而是对最小和最大堆大小使用相同的值。将最小值和最大值设置为相同的值会将堆大小设置为固定值,这有助于避免性能下降,因为 Java 会动态调整堆大小。

你可能很好奇如果你根本不设置内存分配标志会发生什么。 Java 将默认将 Minimum HeapSize(它将使用的最少内存量)设置为操作系统报告的物理 RAM 的 1/64,并将 Maximum HeapSize(它将使用的最多内存)设置为可用 RAM 的 1/4。

在大多数系统上,这个范围太宽(并且最大值太高)并且会影响性能。在我们讨论多少 RAM 适合 Minecraft 服务器时,我们谈到了 Java“垃圾收集器”的概念,这是 Java 用来管理 RAM 的内置机制。简而言之,如果分配的 RAM 太少,收集器运行得过于频繁;如果分配的 RAM 过多,收集器就会闲置太久,然后一次又一次地过度运行。

两者都不利于性能,因此您应该以适度的增量增加 Minecraft 服务器的 RAM 分配,比如从 1GB 到 1.5GB 再到 2GB,直到达到您想要的结果。

如果您正在运行原版 Minecraft 服务器软件并且增加 RAM 并不能提高性能,请考虑切换到原版服务器的高度优化的分支,例如 PaperMC。根据我们的经验,切换到 PaperMC 产生的性能提升高于任何额外 RAM 分配所能提供的性能提升。

无论哪种方式,通过一些调整——无论是对 RAM 分配还是您使用的服务器平台——您应该能够获得您正在寻找的性能。