Определение типа GC с помощью GarbageCollectorMXBean - PullRequest
0 голосов
/ 07 июня 2018

Я читал этот превосходный ответ о получении информации о деятельности по сбору мусора в Java и заметил, что GarbageCollectorMXBean не имеет данных о том, что тип коллекции (Minor, Major, Full и т. д.).

Мне интересно: возможно ли выяснить (из кода Java), был ли конкретный GC второстепенным, мажорным или полным?

1 Ответ

0 голосов
/ 07 июня 2018

Печать периодической статистики GC из сводной статистики GarbageCollectorMXBean не даст вам такой информации.Если вы используете Java 1.7+, вы можете подписаться на уведомления JMX от каждого экземпляра GarbageCollectorMXBean, и вы получите уведомление для каждого события GC, которое даст вам немного больше информации о каждом отдельном событии.UserData уведомления будет содержать экземпляр типа GarbageCollectionNotificationInfo .Атрибут GcAction сообщит вам, был ли он мажорным или второстепенным, а GcCause сообщит вам причину события GC.

Обратите внимание, что это ссылка com.sun упаковывает и принимает JSM HotSpot.Вы можете не ссылаться на пакеты com.sun в своем коде, используя чистый JMX и OpenType, но будьте осторожны, предполагая, что это будет работать во всех Java 1.7 JVM.

...