Как выделить больше оперативной памяти для сервера Minecraft

Опубликовано: 2022-06-25
Блок Minecraft, наложенный на ряды оперативной памяти компьютера.
Mojang/Городенкофф/Shutterstock.com

Если вы недавно добавили больше игроков, больше модов или и то, и другое на свой сервер Minecraft, возможно, пришло время выделить больше оперативной памяти. Вот как это сделать для более плавного игрового процесса.

Каковы преимущества увеличения оперативной памяти сервера?

Выделение большего объема ОЗУ не обязательно является серебряной пулей — часто оптимизация самого сервера является лучшим решением, чем увеличение объема ОЗУ для решения проблемы, — но в определенных ситуациях это требуется.

Minecraft — очень ресурсоемкая игра, и увеличение объема оперативной памяти, выделенной вашему серверу, может решить множество проблем: от фантомных блоков до заикания игроков при перемещении по карте.

Сколько оперативной памяти подходит для сервера Minecraft? Достаточно ли 1 ГБ?
СВЯЗАННЫЙ Сколько оперативной памяти подходит для сервера Minecraft? Достаточно ли 1 ГБ?

По мере того как вы увеличиваете количество игроков, добавляете плагины и моды, создаете все более сложные проекты (например, автоматические сортировщики предметов, фермы и т. д.) и так далее, требования, которые вы предъявляете к серверу, возрастают. Если вы перешли от кемпинга в грязной хижине с одним другом к созданию сложного творения из красного камня с десятью, вероятно, пришло время выделить больше оперативной памяти.

Где можно использовать этот метод?

Есть разные способы разместить сервер Minecraft. Чтобы сэкономить ваше время, давайте сначала поговорим о том, где вы можете и не можете использовать метод, который мы собираемся описать.

Minecraft Realms: выделение оперативной памяти происходит автоматически

Если вы используете Minecraft Realms, официальный хост-сервер Mojang, вы не можете настроить выделение оперативной памяти — и вам это не нужно.

Изначально Minecraft Realms размещались на серверах Amazon Web Services (AWS), а теперь, после миграции после приобретения Microsoft компании Mojang, размещены на серверах Microsoft Azure. Все время Realms использовала динамическую систему распределения памяти. Ваш сервер Realms просто увеличивает или уменьшает объем используемой оперативной памяти без какого-либо вмешательства со стороны владельца Realms.

Хосты Minecraft: вам нужно платить за больше оперативной памяти

Если вы используете коммерческий хост Minecraft, вы обычно платите за определенный уровень оборудования. В свете этого вы не можете просто увеличить выделение оперативной памяти — вам придется платить за более высокий уровень.

Иногда вы можете просто зайти на веб-сайт и обновиться на лету, в других случаях вам нужно отправить запрос в службу поддержки и подождать. Дополнительную информацию см. в документации вашего хоста Minecraft. Однако, прежде чем вы поспешите заплатить за дополнительную оперативную память, мы рекомендуем вам прочитать о том, сколько оперативной памяти вам действительно нужно, и как вы можете не платить за обновления, используя более оптимизированную версию сервера Minecraft.

Самостоятельный хостинг: вы можете настроить оперативную память самостоятельно

Если вы самостоятельно размещаете свой сервер Minecraft на оборудовании у себя дома или удаленно на арендованном оборудовании, вы можете увеличить выделение ОЗУ до ограничений, налагаемых самим оборудованием и накладными расходами хост-системы. Давайте посмотрим, как вы это делаете сейчас.

Как выделить больше оперативной памяти для вашего сервера Minecraft

В файле server.properties вашего сервера есть довольно много переменных, которые устанавливают режим игры, расстояние просмотра и многое другое. Однако вы не найдете никаких записей для выделения ОЗУ.

Вместо этого выделение оперативной памяти осуществляется с помощью аргументов командной строки, которые передаются серверному программному обеспечению во время запуска. Вы устанавливаете размер кучи или выделение памяти с помощью флагов --Xmx и --Xms , которые определяют максимальный и начальный размер кучи соответственно. Вы можете использовать обозначения мегабайтов или гигабайтов, такие как 1024M или 1G с флагами.

Давайте посмотрим на пример команды запуска и разберем все части.

java -Xmx1024M -Xms1024M -jar server.jar nogui

В приведенной выше команде мы вызываем Java, указываем начальный размер кучи 1024M и максимальный размер кучи 1024M. Часть -jar server.jar просто указывает инструменту архивирования jar Java на файл сервера, а флаг nogui запрещает серверу создавать окно с графическим интерфейсом. Вы можете снять флаг графического интерфейса, если вам нужно окно графического интерфейса со статистикой производительности, списком игроков и просмотром журнала сервера в реальном времени.

Если мы хотим увеличить выделение оперативной памяти, скажем, до 2 ГБ, можно просто выключить сервер и снова запустить его с увеличенными значениями:

java -Xmx2048M -Xms2048M -jar server.jar nogui

Вы могли заметить, что мы не указываем диапазон, например от 512M до 2048M, в наших командах, а используем одно и то же значение для минимального и максимального размера кучи. Установка минимального и максимального значений в одно и то же значение устанавливает для размера кучи фиксированное значение, что помогает избежать снижения производительности, поскольку Java динамически регулирует размер кучи.

Вам может быть любопытно, что произойдет, если вы вообще не установите флаги выделения памяти. Java по умолчанию устанавливает минимальный размер кучи (наименьший объем памяти, который он будет использовать) на 1/64 физического ОЗУ, о котором сообщает операционная система, и максимальный размер кучи (наибольший объем используемой памяти) на 1/4 доступного ОЗУ.

В большинстве систем это будет слишком широкий диапазон (и слишком высокое максимальное значение), что повлияет на производительность. В нашем обсуждении того, сколько оперативной памяти подходит для сервера Minecraft, мы коснемся концепции «сборщика мусора» Java, встроенного механизма Java, используемого для управления оперативной памятью. Короче говоря, если вы выделяете слишком мало ОЗУ, сборщик запускается слишком часто, а если вы выделяете слишком много ОЗУ, сборщик простаивает слишком долго, а затем сразу слишком интенсивно работает.

И то, и другое плохо влияет на производительность, поэтому вам следует стремиться увеличивать объем оперативной памяти для вашего сервера Minecraft с небольшими приращениями, скажем, с 1 ГБ до 1,5 ГБ и 2 ГБ, пока вы не достигнете желаемых результатов.

Если вы используете ванильное серверное программное обеспечение Minecraft и увеличение оперативной памяти не обеспечивает повышения производительности, рассмотрите возможность перехода на сильно оптимизированную вилку ванильного сервера, например PaperMC. По нашему опыту, переход на PaperMC дает более высокий прирост производительности, чем любое дополнительное выделение оперативной памяти.

В любом случае, с некоторыми корректировками — будь то распределение ОЗУ или используемая серверная платформа — вы сможете добиться желаемой производительности.