Как получить время ожидания выделения zGC из JVM?

Как я могу получить общее время ожидания выделения из-за zGC Garbage Collection в моем приложении Java из JVM (не gc.log)?

Я видел этот интересный ответ: /questions/41214548/izmerenie-vremeni-provedennogo-na-gc-v-jvm/41214550#41214550, но, глядя на документы для GarbageCollectorMXBean, есть только два метода, ни один из которых, похоже, не различает общее время, затраченное на то, что приложение Java чтобы остановить GC:

Резюме метода

длинный getCollectionCount() - Возвращает общее количество произведенных коллекций.

длинный getCollectionTime() - Возвращает приблизительное время накопленного сбора в миллисекундах.

Что я действительно хочу знать, так это время, потраченное на остановку полного распределения из-за сборщиков мусора (обратите внимание, что меня не интересуют безопасные точки). Как говорится в этой статье в Java Magazine:

Многие алгоритмы сборки мусора были опробованы и протестированы на протяжении многих лет, многократно улучшая их производительность. У таких алгоритмов есть две общие области производительности. Первая - это производительность сборки мусора. Сколько времени ЦП вашего приложения тратится на выполнение работы по сборке мусора, а не на выполнение кода приложения? Вторая - это созданная задержка, то есть задержка отдельных пауз.

Будем очень благодарны любой помощи.

0 ответов

Другие вопросы по тегам