G1 Old Generation GC collection event not sent after Mixed evacuation pause
Jenny Zhang
yu.zhang at oracle.com
Wed Jul 19 20:35:58 UTC 2017
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.zhang at oracle.com
> <mailto:yu.zhang at 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-garbage-collector.htm#JSGCT-GUID-1CDEB6B6-9463-4998-815D-05E095BFBD0F
> <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/29682f04/attachment-0001.html>
More information about the hotspot-gc-use
mailing list