Производительность · MINECRAFT JAVA EDITION

Сколько RAM нужно Minecraft-серверу: как выбрать и проверить

RAM выбирают по нагрузке, а не по одному числу игроков. Ниже: стартовые ориентиры и проверка, которая помогает отличить нехватку памяти от медленного CPU, генерации чанков и проблем плагинов.

Обновлено 3 мин чтения
Общий лимит памяти сервера
Java heapИгровые объекты · ограничивается -Xmx
Память вне heapПотоки, metaspace, буферы и другие расходы
Схема без масштаба: лимит контейнера нельзя целиком отдавать Java heap.

С какого объёма начать

Диапазоны в таблице: начальные ориентиры для тестирования. Они не гарантируют онлайн или производительность. Требования конкретного модпака и измерения вашего сервера важнее таблицы.

СценарийСтартовый ориентирКогда пересмотреть
Небольшое выживание без тяжёлых расширений4-6 ГБРастут миры, число загруженных чанков или плагины
Paper / Purpur с обычным набором плагинов6-8 ГБВо время пиков наблюдаются частые GC и нехватка heap
Несколько миров или более сложный проект8-16 ГБПрофилирование подтверждает потребность в дополнительной памяти
Тяжёлый модпакПо рекомендациям автора; часто выше простого PaperПроверьте серверную сборку, моды и объём мира
24 ГБ и большеТолько при измеренной потребностиБольшой heap сам по себе не исправляет низкий TPS

Таблицу можно прокрутить по горизонтали →

Лимит услуги и -Xmx: разные значения

-Xmx ограничивает Java heap: область для игровых объектов. Общий расход процесса выше: существуют metaspace, стеки потоков, прямые буферы и другие native-выделения. В контейнере могут учитываться и дополнительные категории памяти. Поэтому -Xmx нельзя бездумно приравнивать к жёсткому лимиту услуги.

  • На управляемом хостинге используйте параметры запуска, рекомендованные провайдером.
  • На VPS оставьте память ОС, SSH, базам и другим службам; не отдавайте всё Java.
  • Не используйте фиксированный процент запаса как универсальную гарантию: нагрузка и поведение JVM различаются.
Пример: настройки heap не равны полному расходу процесса
Лимит контейнера
├─ Java heap (не больше -Xmx)
├─ Metaspace, потоки, прямые буферы
└─ Другие учитываемые расходы

В панели RAM ≠ только используемый heap.

Как выглядит реальная нехватка

Высокая цифра занятой RAM в одиночку не является диагнозом. JVM может держать память до следующего GC. Важнее поведение после сборки мусора, частота пауз и ошибки.

НаблюдениеВероятное направление проверки
java.lang.OutOfMemoryError: Java heap spaceHeap заполнен: нагрузка, утечка, настройки -Xmx
Процесс внезапно завершён, OOM kill в событияхПревышен общий лимит контейнера или памяти машины
Metaspace / direct buffer memory в ошибкеПроверяйте соответствующую область; простого увеличения heap может быть мало
RAM стабильна, MSPT высокийСначала CPU, плагины, чанки и диск, а не покупка RAM

Таблицу можно прокрутить по горизонтали →

Как измерять потребность

Сравнивайте периоды с обычным и пиковым онлайном. Запишите общий расход памяти в панели, heap/GC по диагностике JVM или spark, число игроков и события в мире. Измерение сразу после запуска или на пустом сервере мало говорит о пике.

  1. Проведите тест с типичным числом игроков, генерацией и вашими обычными фермами.
  2. Проверьте, освобождается ли heap после GC, и нет ли частых длинных пауз.
  3. Убедитесь, что чрезмерный расход не вызван утечкой плагина или лишними загруженными чанками.
  4. Увеличивайте память только после определения причины и сравните результат в сопоставимых условиях.

Как выбрать тариф Ghosting

Сравните память, CPU limit и диск в тарифах. Увеличение RAM не всегда увеличивает лимит CPU, поэтому смотрите оба показателя. Для большого мира учитывайте место под копии. Если сервер уже работает, передайте поддержке метрики пикового периода и лог OOM, а не только скриншот занятой памяти: это поможет подобрать ресурс, который действительно нужен.

Документация и источники

Названия файлов и параметры могут отличаться между версиями. Перед изменением сверяйте документацию своей сборки.