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.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

Reply via email to