Сколько RAM нужно Minecraft-серверу: как выбрать и проверить
RAM выбирают по нагрузке, а не по одному числу игроков. Ниже: стартовые ориентиры и проверка, которая помогает отличить нехватку памяти от медленного CPU, генерации чанков и проблем плагинов.
С какого объёма начать
Диапазоны в таблице: начальные ориентиры для тестирования. Они не гарантируют онлайн или производительность. Требования конкретного модпака и измерения вашего сервера важнее таблицы.
| Сценарий | Стартовый ориентир | Когда пересмотреть |
|---|---|---|
| Небольшое выживание без тяжёлых расширений | 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 различаются.
Лимит контейнера
├─ Java heap (не больше -Xmx)
├─ Metaspace, потоки, прямые буферы
└─ Другие учитываемые расходы
В панели RAM ≠ только используемый heap.Как выглядит реальная нехватка
Высокая цифра занятой RAM в одиночку не является диагнозом. JVM может держать память до следующего GC. Важнее поведение после сборки мусора, частота пауз и ошибки.
| Наблюдение | Вероятное направление проверки |
|---|---|
| java.lang.OutOfMemoryError: Java heap space | Heap заполнен: нагрузка, утечка, настройки -Xmx |
| Процесс внезапно завершён, OOM kill в событиях | Превышен общий лимит контейнера или памяти машины |
| Metaspace / direct buffer memory в ошибке | Проверяйте соответствующую область; простого увеличения heap может быть мало |
| RAM стабильна, MSPT высокий | Сначала CPU, плагины, чанки и диск, а не покупка RAM |
Таблицу можно прокрутить по горизонтали →
Как измерять потребность
Сравнивайте периоды с обычным и пиковым онлайном. Запишите общий расход памяти в панели, heap/GC по диагностике JVM или spark, число игроков и события в мире. Измерение сразу после запуска или на пустом сервере мало говорит о пике.
- Проведите тест с типичным числом игроков, генерацией и вашими обычными фермами.
- Проверьте, освобождается ли heap после GC, и нет ли частых длинных пауз.
- Убедитесь, что чрезмерный расход не вызван утечкой плагина или лишними загруженными чанками.
- Увеличивайте память только после определения причины и сравните результат в сопоставимых условиях.
Как выбрать тариф Ghosting
Сравните память, CPU limit и диск в тарифах. Увеличение RAM не всегда увеличивает лимит CPU, поэтому смотрите оба показателя. Для большого мира учитывайте место под копии. Если сервер уже работает, передайте поддержке метрики пикового периода и лог OOM, а не только скриншот занятой памяти: это поможет подобрать ресурс, который действительно нужен.
Документация и источники
Названия файлов и параметры могут отличаться между версиями. Перед изменением сверяйте документацию своей сборки.