Сколько RAM нужно серверу Minecraft: память тарифа, Java и запас
Как память тарифа делится между Java и системой, почему сервер падает с OutOfMemory и когда пора поднимать тариф. С примерами из панели EGN.
Содержание 19
- Коротко
- Как память делится
- Что такое -Xmx и -Xms
- Ориентиры по памяти
- Шаги: как подобрать память
- Пример: 10 друзей и пять плагинов
- Как понять, что памяти не хватает
- Пример расчёта для сборки
- Почему не стоит брать тариф с запасом в десять раз
- Памятка по RAM
- Симптом → причина → решение
- Как сделать в панели EGN: посмотреть память
- Частые ошибки
- Итог
- Вопросы и ответы
- Сколько RAM нужно для обычного сервера Minecraft?
- Что такое -Xmx?
- Почему сервер падает при 3 ГБ, если памяти вроде бы хватает?
- Можно ли поставить -Xmx больше тарифа?
Вопрос «сколько RAM нужно серверу Minecraft» задают чаще всего, и точного ответа одним числом нет. Память зависит от версии игры, ядра, числа игроков, плагинов и модов. Но есть простое правило, которое снимает большую часть вопросов: память тарифа делится между Java и системой, и если поставить больше, чем вам достаётся, сервер начнёт падать. Разберём, как это работает в панели EGN и как понять, что памяти не хватает.
Коротко
Тариф выдаёт вам определённый объём RAM, например 3 ГБ. Панель оставляет часть на систему и саму Java (по нашим настройкам куча занимает около 85 % памяти тарифа), а остальное отдаёт серверу как -Xmx. В разделе «Запуск» видно, сколько получает Java: на тестовом сервере с 3 ГБ это 2,5 ГБ, запас 0,5 ГБ. Чем больше игроков, плагинов и модов, тем больше памяти нужно. Если сервер падает с OutOfMemoryError, поднимайте тариф, а не просто увеличивайте -Xmx.
Как память делится
Память тарифа — это общий объём, который доступен контейнеру сервера. Из него Java берёт кучу (heap), где живут мир, игроки и плагины. Остаток нужен самой Java, системе и буферам сети. Если отдать всё Java, система начнёт свопить или упадёт сама, а сервер будет тормозить без причины.
В панели EGN это видно в блоке «Память и производительность» раздела «Запуск». На тестовом сервере с тарифом 3 ГБ карточки выглядят так: «3 ГБ памяти по тарифу», «2,5 ГБ получает Java (-Xmx)», «0,5 ГБ запас системе и Java вне кучи». Панель прямо предупреждает: если не хватает памяти, увеличьте тариф в личном кабинете.
Что такое -Xmx и -Xms
В командной строке Java память задаётся двумя флагами:
-Xms— стартовый объём кучи;-Xmx— максимальный объём кучи.
Официальная документация Paper для примера использует такую команду:
java -Xms4G -Xmx4G -jar paper.jar --noguiЗдесь выделяется 4 ГБ кучи сразу. В панели EGN строка запуска собирается за вас из памяти тарифа, поэтому обычно вручную её менять не нужно. Раскрыть её можно в блоке «Для опытных: команда запуска» раздела «Запуск». Про флаги вроде Aikar’s — в статье про флаги JVM.
Ориентиры по памяти
Это не гарантии, а порядок величин для Paper 1.21+ и 26.x без тяжёлой предгенерации. Точный расход зависит от плагинов, мира и числа загруженных чанков.
| Сценарий | Чего ждать от кучи Java |
|---|---|
| Пустой сервер Paper | в наших проверках около 1 ГБ резидентной памяти после минуты покоя; ванильное ядро — около 0,5 ГБ |
| 3–5 друзей, несколько плагинов | 2 ГБ кучи обычно достаточно |
| 10–15 игроков, 8–10 плагинов | 3–4 ГБ кучи |
| 20–40 игроков, регионы, экономика, веб-карта | 5–8 ГБ кучи |
| Сборка на модах | смотрите рекомендацию автора сборки, лёгкие сборки обычно от 4 ГБ, крупные требуют 8 ГБ и больше |
Помните, что куча — это около 85 % тарифа: чтобы получить 4 ГБ кучи, нужен тариф примерно на 5 ГБ и выше, то есть на практике следующая ступень каталога. В каталоге EGN есть тарифы от 1,5 до 16 ГБ и выше, актуальный список — в личном кабинете.
Шаги: как подобрать память
-
Посмотрите, сколько получает Java. Откройте «Запуск» и найдите блок «Память и производительность». Там видно значение
-Xmx. -
Запустите сервер в обычном режиме. Дайте ему поработать с игроками. Обычно нагрузка растёт вечером, поэтому смотрите на пиковое время.
-
Проверьте, не падает ли сервер. Если в «Доктор сервера» появляется причина
OutOfMemoryErrorили сервер сам перезапускается, памяти не хватает. -
Прикиньте, что добавилось. Новые плагины и моды, рост числа игроков, большие карты и предгенерированный мир — всё это увеличивает нагрузку.
-
Поднимайте тариф, а не
-Xmxвыше лимита. Если выставить-Xmxбольше, чем у тарифа, сервер будет падать из-за нехватки памяти у контейнера.
Пример: 10 друзей и пять плагинов
Допустим, на сервере Paper 1.21.x играют 10 друзей, стоят LuckPerms, EssentialsX, WorldGuard и ещё два плагина. Если на тарифе 3 ГБ, Java получает 2,5 ГБ, и это обычно хватает для такого сервера, пока не растёт мир и не появляется много сущностей. Если через неделю добавили моды или сборку, запас придётся пересчитать: сборка с сотнями модов часто требует существенно больше памяти, чем плагинный сервер.
Точное число для конкретной сборки обычно указано в её описании. Ориентируйтесь на него, а не на общие гайды.
Как понять, что памяти не хватает
Нехватка памяти проявляется по-разному. Иногда сервер просто начинает тормозить, и игроки жалуются на рывки. Иногда он падает с OutOfMemoryError в логе, и тогда в «Доктор сервера» появляется понятная причина. Иногда сервер перезапускается сам, без явной ошибки, потому что система убивает процесс.
Простой способ отличить проблему памяти от проблемы процессора: если сервер тормозит при полном онлайне и растёт использование памяти, пора подумать о тарифе. Если память стабильна, а тормоза связаны с действиями игроков, смотрите процессор и настройки дальности. Подробный разбор симптомов — в статье про нехватку памяти.
Пример расчёта для сборки
Допустим, вы хотите сервер с модпаком, и в его описании рекомендуют тариф с запасом. Прежде чем покупать, сделайте три проверки. Во-первых, сколько модов в сборке: чем больше, тем больше памяти занимает сама игра. Во-вторых, сколько игроков будут заходить одновременно: каждый игрок добавляет нагрузку. В-третьих, будете ли вы регулярно добавлять новые моды: их число растёт со временем.
Если рекомендация сборки выше памяти вашего тарифа, не пытайтесь выставить -Xmx больше лимита. Поднимите тариф, и только потом запускайте сборку. Иначе сервер будет падать на старте, и причину придётся искать заново.
Почему не стоит брать тариф с запасом в десять раз
Больше памяти не всегда значит быстрее. Java сама решает, сколько занять, и чем больше куча, тем реже сборщик мусора работает. Иногда это даёт паузы, которые игроки замечают как лаги. Поэтому разумный запас важнее максимума: возьмите тариф, который покрывает пиковый онлайн с небольшим резервом, и смотрите на график нагрузки.
Памятка по RAM
- Проверьте, сколько памяти получает Java в разделе «Запуск».
- Сравните с описанием сборки или ядра и с числом игроков.
- Следите за графиком нагрузки в пиковые часы.
- Если падения повторяются, смотрите лог и доктора, а не только память.
- Пересматривайте тариф, когда добавляете моды или растёт онлайн.
Симптом → причина → решение
| Симптом | Причина | Решение |
|---|---|---|
OutOfMemoryError в логе |
Куча исчерпана | Поднимите тариф или уменьшите число модов и плагинов |
| Сервер тормозит, памяти в графике много | Проблема в процессоре или дистанциях | Снизьте view-distance, смотрите процессор |
| Сервер сам перезапускается при пике онлайна | Система убивает процесс из-за нехватки памяти | Поднимите тариф, проверьте график нагрузки |
| Java получает меньше, чем ожидали | Часть памяти отдана системе | Это норма: см. блок «Память и производительность» в «Запуск» |
| Сборка не стартует на текущем тарифе | Рекомендация сборки выше памяти тарифа | Поднимите тариф до рекомендации, не выставляйте -Xmx выше лимита |
Как сделать в панели EGN: посмотреть память
- Откройте «Запуск» в меню сервера.
- Найдите блок «Память и производительность»: там три карточки — память тарифа, память для Java, запас.
- Сверьте значение с рекомендацией сборки или ядра.
- Если памяти мало, откройте личный кабинет и выберите тариф с большей памятью.
- После смены тарифа перезапустите сервер и проверьте лог.
Частые ошибки
- Ставите -Xmx больше тарифа. Контейнер получит нехватку памяти, и сервер упадёт без понятной причины.
- Отдаёте Java всю память. Без запаса система тормозит и падает. Оставляйте запас, как в панели.
- Ищете причину лагов в RAM, когда дело в CPU. Если памяти хватает, а сервер тормозит, смотрите на процессор и дистанции. Как отличить нехватку процессора, памяти и диска, разбирает статья про лаги: CPU, RAM или диск.
- Не учитываете моды. Сборка с сотнями модов съедает память намного быстрее обычного сервера.
- Ожидаете, что памяти хватит навсегда. Мир растёт, игроков становится больше, нагрузка меняется. Пересматривайте тариф раз в несколько месяцев.
OutOfMemoryError — это нехватка памяти, а не баг модаЕсли в логе появляется
OutOfMemoryError, сервер упёрся в лимит кучи. Помогает большой тариф или меньшее число модов и плагинов, а не правка конфигов игры.
Смотрите график нагрузкиВ панели есть график нагрузки. Если пик почти всегда у потолка памяти, пора на тариф повыше. Если пики короткие, запас достаточен.
Итог
Память сервера Minecraft делится между Java и системой. Панель показывает, сколько получает Java, и задаёт -Xmx автоматически. Больше игроков, плагинов и модов — больше памяти. Если сервер падает с нехваткой памяти, поднимайте тариф, а не выставляйте -Xmx выше лимита. Точное число для сборки ищите в её описании.
Вопросы и ответы
Сколько RAM нужно для обычного сервера Minecraft?
Зависит от числа игроков и плагинов. Для небольшого сервера на Paper с несколькими плагинами хватает тарифа, где Java получает около 2–3 ГБ. Для сборок с модами нужен запас больше.
Что такое -Xmx?
Максимальный объём кучи Java. Панель выставляет его сама, исходя из памяти тарифа.
Почему сервер падает при 3 ГБ, если памяти вроде бы хватает?
Потому что Java получает не все 3 ГБ, а часть уходит на систему и на Java вне кучи. Смотрите значение «получает Java» в «Запуск».
Можно ли поставить -Xmx больше тарифа?
Нет. Контейнер не даст больше памяти, чем у тарифа, и сервер начнёт падать.
Сервер под Minecraft за пару минут — egnetwork.ru
Читать далее
Вся рубрика →Почему лагает Minecraft-сервер при 10 игроках и что с этим делать
Типичные причины лагов на сервере на 10 игроков: процессор, память, диск, дальность и фермы. Как понять, что именно тормозит, и какие шаги в панели EGN помогают.
Чек-лист оптимизации Minecraft-сервера: 10 шагов от первого замера до стабильного MSPT
Пошаговый чек-лист для сервера Minecraft в панели EGN: замер MSPT, память, дальность, Chunky, расписание перезапуска, бэкапы и проверка после каждого изменения.
TPS и MSPT в Minecraft: что это, как читать цифры и когда начинаются лаги
Что значат TPS и MSPT, почему 50 мс — граница, как посмотреть их через spark в консоли EGN и какие выводы делать из цифр, а не из ощущений.