Java Hotspot VM может выполнять различные операции с виртуальными машинами. При отладке времени безопасной точки полезно знать, какова была цель безопасной точки. Некоторые из них очевидны: G1IncCollectionPause
или FindDeadlocks
, но некоторые нет: CGC_Operation
, no vm operation
. Существует VMOps.java, но в нем перечислены только возможные значения, а не то, что они означают.
В настоящее время мне нужно знать, что делает CGC_Operation
в контексте G1GC. Я подозреваю, что это связано с коллекцией ConcurrentGCThread и Old gen, но я хотел бы подтвердить, а также иметь некоторые ссылки для поиска других операций.
Пример:
-XX:+PrintSafepointStatistics
...
128959.961: G1IncCollectionPause [ 2636 0 1 ] [ 0 0 0 15 52 ] 0
129986.695: G1IncCollectionPause [ 2637 0 0 ] [ 0 0 0 12 51 ] 0
137019.250: G1IncCollectionPause [ 2636 0 0 ] [ 0 0 0 13 50 ] 0
138693.219: CGC_Operation [ 2636 0 0 ] [ 0 0 0 13 338 ] 0
138726.672: G1IncCollectionPause [ 2636 0 0 ] [ 0 0 0 13 50 ] 0
138733.984: G1IncCollectionPause [ 2636 0 1 ] [ 0 0 0 13 50 ] 0
138738.750: G1IncCollectionPause [ 2636 0 0 ] [ 0 0 0 13 62 ] 0