Будь то G1, ZGC или SGC, кажется, что GC может быть вызван только тогда, когда распределение нового объекта не удастся. Если я не выделяю объекты, то мое пространство всегда будет занято, даже если моя система не используется временно до тех пор, пока следующее распределение не сработает. Если GC может быть запускается, когда система простоя, она может значительно сохранить используемое пространство памяти и уменьшить влияние STW на потоки приложений. Итак, как вы определяете систему бездействия? Может быть, это количество активных потоков, возможно, это использование ЦП текущего процесса, или он может быть оставлен пользователю для определения.
Подробнее здесь: https://stackoverflow.com/questions/795 ... gc-when-ob