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