Почему твой Minecraft сервер лагает Ошибки в настройке JVM
  • Илья
    Илья
    28 июня 2025 - 15:29
    Вы не авторизованы, войдите на сайт.
  • просмотров 87 | ответов 0
Анализ флагов запуска Java для Minecraft сервера
В этой статье разберём популярные флаги запуска JVM, которые часто рекомендуют для Minecraft серверов. Оказывается, 99% администраторов просто копируют настройки из непроверенных источников, надеясь на "волшебную оптимизацию".

🔴вредный🟣потенциально вредный
🟠используйте на свой страх и риск🟢скорее полезен с минимальными рисками
🔵устаревший или бесполезный


1. Устаревшее руководство с Pastebin
Большинство флагов из этой пасты актуальны только для Java ниже 11 версии.

  • 🔵 -mx1G, -Xss2048k — устарели
  • 🟢 -XX:+OptimizeStringConcat — может улучшить производительность без рисков
  • 🔵 -XX:ParallelGCThreads=8 — бесполезен для G1GC (он сам регулирует потоки)
  • 🟠 -XX:SurvivorRatio=1 — возможно полезен при нехватке памяти
  • 🔴 -XX:+UseConcMarkSweepGC и связанные флаги CMS — несовместимы с G1GC
  • 🟢 -XX:+UseFastJNIAccessors — может помочь с плагинами на Kotlin
  • 🟣 -XX:+UseCodeCacheFlushing — в 90% случаев вредит производительности


2. Руководство по оптимизации клиента (не для серверов)

  • 🔴 -XX:+UseStringDeduplication — увеличивает нагрузку GC на 25%
  • 🟠 -XX:-DontCompileHugeMethods — неизвестный эффект
  • 🔵 -server — удалён в Java 9
  • 🔵 -Dorg.lwjgl.util.NoChecks=true — не применимо для серверов


3. Дополнение к флагам Aikar

  • 🟠 -XX:MaxTenuringThreshold=1 — настраивается индивидуально
  • 🟢 -XX:+UseCompressedOops — снижает потребление памяти
  • 🟣 -XX:+TrustFinalNonStaticFields — риск рассинхронизации
  • 🟢 -XX:+UseNUMA — полезен для систем с несколькими ядрами
  • 🟠 -XX:+OmitStackTraceInFastThrow — усложняет диагностику ошибок


Вывод:

Большинство "оптимизационных" флагов либо бесполезны, либо вредны. Лучше использовать проверенные настройки (например, флаги Aikar) и не экспериментировать с непонятными параметрами.

Примечание: Для некоторых флагов эффект зависит от конкретной системы и версии Java — всегда тестируйте изменения в боевой среде.