Добро пожаловать на Craft‑Bukkit

Всё о Minecraft серверах: гайды, команды, скачивание сборок и полезные советы для администраторов и игроков.

Ошибка «java.lang.OutOfMemoryError: Java heap space» в консоли: причины и решение

wergio 25.07.2026 13:35 5
Ошибка OutOfMemoryError в консоли сервера Minecraft: как диагностировать и исправить нехватку памяти.

Введение: когда память кончается

Ошибка «java.lang.OutOfMemoryError: Java heap space» в консоли означает, что Java-машина исчерпала выделенную ей оперативную память. Сервер крашится, игроки теряют прогресс. Эта ошибка — одна из самых частых причин внезапных падений сервера. В этом гайде я разберу, почему это происходит и как это исправить раз и навсегда.

Что такое Heap Space

Heap (куча) — это область памяти, которую Java использует для хранения объектов: чанков, мобов, предметов, данных игроков. Когда heap заполняется полностью, а Java не может освободить место — происходит краш.

Причина 1: Слишком мало выделенной памяти (-Xmx)

Диагностика: Посмотрите на скрипт запуска сервера. Если там -Xmx2G, а у вас 20 игроков и 30 плагинов — памяти не хватает.

Решение: Увеличьте -Xmx. Для сервера на 20 игроков с плагинами нужно минимум 4-6 ГБ. Для Forge с модами — 8-12 ГБ. Не выделяйте больше 80% от общей ОЗУ сервера.

Причина 2: Утечка памяти в плагине (Memory Leak)

Симптомы: Сервер работает нормально несколько часов, потом потребление памяти растёт и происходит краш. После перезапуска всё повторяется.

Диагностика: /spark health --memory покажет, какой плагин потребляет больше всего памяти. Если потребление плагина растёт со временем — это утечка.

Решение: Обновите проблемный плагин. Если обновлений нет — замените на альтернативу. Настройте автоматический перезапуск сервера раз в 12 часов для очистки памяти.

Причина 3: Слишком большой view-distance

Решение: Уменьшите view-distance в server.properties до 6-8. Каждый лишний чанк в памяти — это 2-5 МБ. При view-distance=10 и 20 игроках сервер держит в памяти тысячи чанков.

Причина 4: 32-битная Java

Диагностика: java -version — если там написано «32-bit», Java может использовать максимум 1.5 ГБ heap, даже если вы указали -Xmx8G.

Решение: Установите 64-битную Java.

💡 Совет профи

Используйте флаги Aikar для JVM. Они оптимизируют работу сборщика мусора и снижают риск OutOfMemoryError. Полный список флагов: -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15.
← К списку статей

💬 Комментарии (0)

⏳ Все комментарии проходят модерацию

🔒 Войдите, чтобы оставить комментарий

😊 Пока нет комментариев. Будьте первым!