ZGC Proactive пауза довольно долгая
У меня есть чувствительное приложение, в котором я хотел бы как можно лучше избегать пауз сборщика мусора. ZGC считается очень низкой паузой (<=10 мс), однако я могу видеть, что проактивная пауза время от времени занимает 40-80 мс (иногда каждую минуту или короче). Куча меньше 1Гб. Мне интересно, почему эти паузы такие длинные и означает ли это, что мир остановился в этот период времени?
В документации указано следующее:
-XX:+ZProactive Enables proactive GC cycles when using ZGC. By default, this option is enabled. ZGC will start a proactive GC cycle if doing so is expected to have minimal impact on the running application. This is useful if the application is mostly idle or allocates very few objects, but you still want to keep the heap size down and allow reference processing to happen even when there are a lot of free space on the heap.
64-разрядная серверная виртуальная машина OpenJDK; 15.0.1; 15.0.1+9; смешанный режим, обмен