Что такое GC overhead и как его измерять?

Middle
213 просмотров
AFK Offer AI

GC overhead — процент времени JVM тратит на GC против полезной работы. Если >5-10% времени в GC — проблема. Измерять через: jstat -gcutil (GCT — total GC time), JFR GC events, Micrometer jvm.gc.pause метрика. -XX:+GCOverheadLimit бросает OutOfMemoryError если более 98% времени в GC и освобождается менее 2% heap — защита от thrashing. Причины высокого overhead: маленький heap, высокий allocation rate, leak.

Следующий вопрос

Что такое rolling updates для баз данных и почему это сложно?