Sobes.tech
Назад к вопросам
Junior — Middle
65

Какие аргументы командной строки доступны для конфигурации JVM при запуске Java-приложения?

Ответ от нейросети

sobes.tech AI

JVM при запуске Java-приложения можно конфигурировать с помощью различных аргументов командной строки, которые влияют на поведение виртуальной машины. Основные категории аргументов:

  • Настройка памяти:

    • -Xms<size> — начальный размер кучи (heap), например, -Xms512m
    • -Xmx<size> — максимальный размер кучи, например, -Xmx1024m
    • -Xss<size> — размер стека для каждого потока
  • Настройка сборщика мусора:

    • -XX:+UseG1GC — включить сборщик G1
    • -XX:+UseConcMarkSweepGC — включить CMS
    • -XX:+UseParallelGC — включить параллельный сборщик
  • Отладка и мониторинг:

    • -Xdebug — включить режим отладки
    • -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 — настройка удалённой отладки
    • -XX:+PrintGCDetails — вывод подробной информации о сборке мусора
  • Настройка производительности:

    • -XX:MaxPermSize=<size> (для старых версий JVM) — размер постоянного поколения
    • -XX:+UseStringDeduplication — дедупликация строк (для G1)
  • Общие:

    • -D<имя>=<значение> — установка системных свойств
    • -verbose:gc — подробный вывод о сборке мусора

Пример запуска с настройкой памяти и включением G1:

java -Xms512m -Xmx2g -XX:+UseG1GC -Dconfig.file=app.properties -jar myapp.jar