Сборщик мусора
Страница Сборщик мусора позволяет включить GC-логирование JVM на управляемом сервисе на Spring Boot, запустить сборку по требованию и скачать полученный файл лога. В продакшене GC-логирование обычно выключено. Страница нужна для того, чтобы включить его на время прицельного расследования, а затем снова выключить.
Сборщик
мусора в интерфейсе Axelix
Доступ
Чтение файла GC-лога и проверка статуса логирования доступны любому аутентифицированному пользователю — VIEWER,
EDITOR, ADMIN и SUPER_ADMIN могут открыть страницу и скачать существующий лог. Активные элементы управления
закрыты отдельным полномочием:
- Запустить GC, Включить Лог Сборщика Мусора и Отключить Лог GC требуют полномочия
GARBAGE_COLLECTOR.
GARBAGE_COLLECTOR выдаётся встроенными ролями EDITOR, ADMIN и SUPER_ADMIN. VIEWER видит кнопки, но
деструктивные остаются недоступными. Полную матрицу ролей и полномочий см. в Роли и
полномочия.
Когда элемент управления виден, но у вашей учётной записи нет этого полномочия, Axelix оставляет его неактивным и по наведению показывает подсказку с соответствующим сообщением.
Включение GC-логирования
GC-логирование выключено по умолчанию. Пока логирование не включено, страница показывает пустой стейт с кнопкой Включить Лог Сборщика Мусора. Клик по ней открывает модальное окно, где выбирается уровень логирования JVM:
Список уровней берётся во время работы по jcmd VM.log list на целевом сервисе — как правило, это error, warning,
info, debug, trace.
Работа с логами
Когда логирование включено, в шапке страницы доступны три действия:
- Запустить GC
— принудительно запускает
сборку, вызывая System.gc()на сервисе, чтобы не ждать естественного события GC для появления записей. ТребуетGARBAGE_COLLECTOR. - Скачать Лог GC
— стримит текущий файл
GC-лога в браузер как text/plain. Только для чтения — доступно всем. - Отключить Лог GC
— выключает
GC-логирование, не трогая уже записанный файл лога. Требует GARBAGE_COLLECTOR.
Типичная строка из скачанного GC-лога с аннотациями:
[2026-03-02T17:38:55.009+0000][info][gc] GC(428) Pause Full (System.gc()) 29M->28M(97M) 82.955ms
│ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ └─ продолжительность паузы GC
│ │ │ │ │ │ │ └─ общий размер кучи
│ │ │ │ │ │ └─ куча после сборки
│ │ │ │ │ └─ куча до сборки
│ │ │ │ └─ описание события GC
│ │ │ └─ идентификатор события GC
│ │ └─ тег лога (подсистема)
│ └─ уровень логирования
└─ временная метка (ISO-8601 с таймзоной)Включите Нужный Actuator Ендпоинт
Если вы используете Axelix 1.2.0 или новее, ничего из этого не требуется: стартер сам регистрирует свои
actuator-эндпоинты, а эндпоинты health/info Axelix больше не требуются — он отлично работает и без них. Никакая
настройка здесь не нужна.
Страница работает поверх actuator-эндпоинта axelix-gc, который добавляет Axelix Spring Boot Starter. Откройте его
через стандартные свойства Spring Boot Actuator — полный список эндпоинтов Axelix и сопутствующие настройки см. в
Настройка Spring Boot
Starter:
management.endpoints.web.exposure.include=axelix-gcСм. также
Дамп потоков
На странице Дамп потоков в режиме реального времени отображается состояние каждого потока в управляемом сервисе на Spring Boot. Страница периодически опрашивает сервис, поэтому список, состояния потоков и временная шкала отражают текущее состояние JVM, а не зафиксированное в определённый момент.
Что такое Master?
Axelix Master (или просто «Master») — это центральный хаб экосистемы Axelix, сервис с расширенными возможностями для управления и мониторинга сервисов на Spring Boot в различных средах.