如何為 Minecraft 服務器分配更多 RAM

已發表: 2022-06-25
一個 Minecraft 塊強加在計算機 RAM 上。
Mojang/Gorodenkoff/Shutterstock.com

如果您最近向您的 Minecraft 服務器添加了更多玩家、更多模組或兩者兼而有之,那麼可能是時候分配更多 RAM 了。 以下是如何做到這一點以獲得更流暢的遊戲體驗。

增加服務器 RAM 有什麼好處?

分配更多 RAM 不一定是靈丹妙藥——通常優化服務器本身是比在問題上投入更多 RAM 更好的解決方案——但在某些情況下需要它。

Minecraft 是一款資源密集型遊戲,增加分配給服務器的 RAM 量可以解決從幻影塊到玩家在地圖上移動時出現橡皮筋和口吃的各種問題。

Minecraft 服務器需要多少 RAM? 1GB夠嗎?
相關多少 RAM 適合 Minecraft 服務器? 1GB夠嗎?

隨著玩家數量的增加、添加插件和模組、構建越來越複雜的項目(如自動物品分類器、農場等)等等,您對服務器的需求也會增加。 如果您已經從與一位朋友在泥屋裡露營到使用十個人構建一個精心製作的紅石作品,那麼可能是時候分配更多內存了。

您可以在哪裡使用此方法?

託管 Minecraft 服務器有多種方式。 為了節省您的時間,讓我們先談談您可以使用和不可以使用我們即將概述的方法的地方。

Minecraft Realms: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 將默認將最小 HeapSize(它將使用的最小內存量)設置為操作系統報告的物理 RAM 的 1/64,將最大 HeapSize(它將使用的最大內存)設置為可用 RAM 的 1/4。

在大多數係統上,這將是一個太寬的範圍(並且最大值太高)並且會影響性能。 在討論 Minecraft 服務器需要多少 RAM 時,我們觸及了 Java“垃圾收集器”的概念,這是 Java 用來管理 RAM 的內置機制。 簡而言之,如果分配的 RAM 太少,則收集器運行太頻繁;如果分配的 RAM 太多,則收集器空閒時間太長,然後一次運行太辛苦。

兩者都對性能不利,因此您應該致力於以適度的增量增加 Minecraft 服務器的 RAM 分配,例如從 1GB 到 1.5GB 再到 2GB,直到達到您想要的結果。

如果您正在運行原版 Minecraft 服務器軟件並且增加 RAM 並不能提高性能,請考慮切換到原版服務器的高度優化分支,例如 PaperMC。 根據我們的經驗,切換到 PaperMC 所產生的性能提升比任何額外的 RAM 分配所能提供的都要高。

無論哪種方式,通過一些調整——無論是對 RAM 分配還是你正在使用的服務器平台——你應該能夠擠出你正在尋找的性能。