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
<mailto: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-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.zh...@oracle.com
<mailto:yu.zh...@oracle.com> <yu.zh...@oracle.com
<mailto:yu.zh...@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@openjdk.java.net
<mailto:hotspot-gc-use@openjdk.java.net>
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
<http://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