Allocation rate. Eden заполняется со скоростью аллокаций; заполнился — minor GC. Удвоили аллокации — удвоили частоту молодых сборок. Источники: промежуточные коллекции в стримах, упаковка Integer, конкатенация строк в цикле, лишние DTO, логирование с формированием строк при выключенном уровне.
Promotion rate. Объекты, пережившие несколько молодых сборок (порог tenuring), уезжают в старое поколение. Если туда едет много «среднеживущего» — кэшей, буферов запросов, сессий, — старое поколение быстро заполняется и требует дорогих сборок. Признак premature promotion: высокий promotion rate при том, что объекты вскоре умирают.
Где смотреть: GC-логи и анализаторы (GCeasy, GCViewer), JFR (события выделения с профилем — какой код аллоцирует), метрики jvm.gc.memory.allocated и jvm.gc.memory.promoted в Micrometer.
Анализ всегда в связке: частота и длительность пауз, обе метрики, живой набор после full GC.