Middle
40
questionbank

Каким образом можно задать параметры конфигурации сборщика мусора (GC) в Java?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Параметры GC задаются опциями командной строки при запуске JVM. Наиболее общие опции начинаются с -XX:.

Примеры опций:

  • -Xms<размер>: Начальный размер кучи.
  • -Xmx<размер>: Максимальный размер кучи.
  • -XX:+<НазваниеGC>: Выбор сборщика мусора. Например, -XX:+UseG1GC для включения G1 GC.
  • -XX:NewRatio=<число>: Отношение молодого поколения к старому (оно же "какое количество частей старого поколения соответствует одной части молодого"). Например, -XX:NewRatio=2 означает, что старое поколение в 2 раза больше молодого (1/3 кучи - молодое, 2/3 - старое).
  • -XX:SurvivorRatio=<число>: Отношение области Eden к каждой из областей Survivor. Например, -XX:SurvivorRatio=8 означает, что область Eden в 8 раз больше каждой из областей Survivor (1/10 молодого поколения - каждый Survivor).
  • -XX:MaxMetaspaceSize=<размер>: Максимальный размер Metaspace.
  • -XX:+PrintGCDetails: Выводить подробную информацию о каждой сборке мусора.
  • -XX:+PrintGCTimeStamps: Добавлять метки времени к выводу GC.
  • -XX:+UseConcMarkSweepGC: Использование сборщика CMS (Deprecated в последних версиях).
  • -XX:+UseParallelGC: Использование параллельного сборщика для молодого поколения.

Пример запуска приложения с параметрами GC:

bash

Параметры могут различаться в зависимости от конкретного сборщика мусора и версии Java. Документация Oracle является основным источником информации по доступным опциям.