RFR: Restore heap occupancy in GC logs after JFR changes

Zhengyu Gu zgu at redhat.com
Wed Aug 29 17:17:35 UTC 2018


Okay.

-Zhengyu

On 08/29/2018 01:12 PM, Aleksey Shipilev wrote:
> http://cr.openjdk.java.net/~shade/shenandoah/restore-logging/webrev.01/
> 
> This restores the GC logging after JFR changes, by partially reverting the change to GCTraceConcTime:
>    http://hg.openjdk.java.net/shenandoah/jdk/rev/bda91c87813a
> 
> The critical part of the fix is to pass NULL gc_timer(), so that concurrent time is not recorded as
> pause time in JFR.
> 
> Before:
> 
> [3.753s][info][gc] Trigger: Free (102M) is below minimum threshold (102M)
> [3.755s][info][gc] GC(15) Pause Init Mark (process refs) 0.212ms
> [3.755s][info][gc] GC(15) Concurrent marking (process refs)
> [3.756s][info][gc] GC(15) Concurrent marking (process refs) 0.927ms
> [3.756s][info][gc] GC(15) Concurrent precleaning
> [3.757s][info][gc] GC(15) Concurrent precleaning 0.188ms
> [3.757s][info][gc] GC(15) Pause Final Mark (process refs) 0.270ms
> [3.757s][info][gc] GC(15) Concurrent cleanup
> [3.757s][info][gc] GC(15) Concurrent cleanup 0.470ms
> 
> After:
> 
> [145.368s][info   ][gc ] GC(47) Pause Init Mark 0.803ms
> [145.477s][info   ][gc ] GC(47) Concurrent marking 12919M->13287M(16384M) 108.655ms
> [145.477s][info   ][gc ] GC(47) Pause Final Mark 0.433ms
> [145.478s][info   ][gc ] GC(47) Concurrent cleanup 13279M->3487M(16384M) 0.294ms
> [145.533s][info   ][gc ] GC(47) Concurrent evacuation 3487M->3999M(16384M) 55.698ms
> [145.536s][info   ][gc ] GC(47) Pause Init Update Refs 0.048ms
> [145.668s][info   ][gc ] GC(47) Concurrent update references 4007M->4407M(16384M) 132.001ms
> [145.670s][info   ][gc ] GC(47) Pause Final Update Refs 0.676ms
> [145.670s][info   ][gc ] GC(47) Concurrent cleanup 4407M->1495M(16384M) 0.353ms
> 
> Testing: tier1_gc_shenandoah, eyeballing gc logs, eyeballing JFR recordings with Shenandoah enabled
> 
> Thanks,
> -Aleksey
> 


More information about the shenandoah-dev mailing list