Thanks Jenny. Got why initial marking is young (it just process old gen and collects only young gen).
So mixed GC reclaiming is still a bug and not designed to be like that correct? Thanks, Sundar On Wed, Jul 19, 2017 at 1:35 PM, Jenny Zhang <yu.zh...@oracle.com> wrote: > You are right about the mixed gc reclaiming old gen. If I understand you > correctly, your question is about why initial marking is young gc? It only > collects young gen. > > thanks > > Jenny > > On 7/19/2017 12:15 PM, Sundara Mohan M wrote: > > From the document, i see Space reclamation phase (multiple mixed > collections) is when the object from old gen is collected. So shouldn't we > get notified via OldGen GarbageCollectorMXBean instead of YoungGen MXBean? > > I am still trying to understand if this was designed to be like this > because of logical space/generation in G1GC or it is a bug? > > Thanks > Sundar > > On Wed, Jul 19, 2017 at 12:09 PM, Jenny Zhang <yu.zh...@oracle.com> wrote: > >> 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-garba >> ge-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.zh...@oracle.com <yu.zh...@oracle.com >> > wrote: >> >>> Sundara, >>> >>> I have filed this bug 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 >>> listhotspot-gc-...@openjdk.java.nethttp://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use >>> >>> >>> >> >> > >
_______________________________________________ hotspot-gc-use mailing list hotspot-gc-use@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use