G1 Old Generation GC collection event not sent after Mixed evacuation pause

Jenny Zhang yu.zhang at oracle.com
Wed Jul 19 19:09:01 UTC 2017


Sundar,

Initial mark is a young gc piggy backed with some initial marking 
activities.

"Initial Mark : This type of collection starts the marking process in 
addition to performing a regular young-only collection. Concurrent 
marking determines all currently reachable (live) objects in the old 
generation regions to be kept for the following space-reclamation phase. 
While marking hasn’t completely finished, regular young collections may 
occur. Marking finishes with two special stop-the-world pauses: Remark 
and Cleanup."

From 
http://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector.htm#JSGCT-GUID-1CDEB6B6-9463-4998-815D-05E095BFBD0F

Thanks

Jenny


On 7/19/2017 11:03 AM, Sundara Mohan M wrote:
> Jenny,
>    Thanks for the update.
>
> Another question i was looking at the source and saw this,
>
> enum G1YCType {
>   Normal,
>   InitialMark,
>   DuringMark,
>   Mixed,
>   G1YCTypeEndSentinel
> };
>
>
> Any idea why InitialMark are categorized as Young Collection, though 
> it is processing in Old Generation?
> Also mixed can include old regions in which case it should be 
> categorized as Old Generation.
>
> Just trying to understand if this is designed like this or this is 
> kind of bug?
>
>
> Thanks,
> Sundar
>
> On Wed, Jul 19, 2017 at 8:24 AM, yu.zhang at oracle.com 
> <mailto:yu.zhang at oracle.com> <yu.zhang at oracle.com 
> <mailto:yu.zhang at oracle.com>> wrote:
>
>     Sundara,
>
>     I have filed this bug
>     https://bugs.openjdk.java.net/browse/JDK-8145923
>     <https://bugs.openjdk.java.net/browse/JDK-8145923>
>
>     But has not been fixed.
>
>     Jenny
>
>
>     On 07/18/2017 10:41 AM, Sundara Mohan M wrote:
>>     Hi,
>>        I am trying to capture all GC event happened on G1 Old Generation.
>>     I was expecting when G1 Evacuation pause (mixed) happens it
>>     should trigger event to my app but instead, i am getting
>>     notification only when Full GC happens.
>>
>>     Here is what i am doing
>>     gcMxBeanListener = myFunction(...)
>>     oldGen  = ManagementFactiory.getGarbageCollectorMXBeans find {
>>     "G1 Old Generation" }
>>     oldGen.addNotificationListener(gcMxBeanListener, null, null)
>>
>>     But in the case of CMS GC, it is triggered when the concurrent
>>     cycle is completed.
>>
>>
>>     Is there something i am missing?
>>
>>     Thanks,
>>     Sundar
>>
>>
>>     _______________________________________________
>>     hotspot-gc-use mailing list
>>     hotspot-gc-use at openjdk.java.net
>>     <mailto:hotspot-gc-use at openjdk.java.net>
>>     http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>     <http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-use/attachments/20170719/0b1a2a9c/attachment.html>


More information about the hotspot-gc-use mailing list