Fwd: Reference Processing in G1 remark phase vs. throughput collector
YU ZHANG
yu.zhang at oracle.com
Mon Jun 23 21:00:45 UTC 2014
Jason,
Can you try -XX:+ParallelRefProcEnabled? The default is disabled.
Thanks,
Jenny
On 6/20/2014 9:51 AM, Jason Resch wrote:
>
>
>
> -------- Original Message --------
> Subject: Reference Processing in G1 remark phase vs. throughput
> collector
> Date: Wed, 18 Jun 2014 14:20:36 -0500
> From: Jason Resch <jresch at cleversafe.com>
> To: hotspot-gc-dev at openjdk.java.net <hotspot-gc-dev at openjdk.java.net>
>
>
>
> Hello,
>
> We've recently been experimenting with the G1 collector for our
> application, and we noticed something odd with reference processing
> times in the G1. It is not clear to us if this is expected or
> indicative of a bug, but I thought I would mention it to this list to
> see if there is a reasonable explanation for this result.
>
> We are seeing that during the remark phase when non-strong references
> are processed, it takes around 20 times longer than the throughput
> collector spends processing the same number of references. As an
> example, here is some output for references processing times we observed:
>
> 2014-05-23T19:58:12.805+0000: 11446.605: [GC remark 11446.618: [GC
> ref-proc11446.618: [SoftReference, 0 refs, 0.0040400
> secs]11446.622: [WeakReference, 11131810 refs, 8.7176900
> secs]11455.340: [FinalReference, 2273593 refs, 2.0022000
> secs]11457.342: [PhantomReference, 297950 refs, 0.3004680
> secs]11457.643: [JNI Weak Reference, 0.0000040 secs], 13.7534950
> secs], 13.8035420 secs]
>
>
> We see the G1 spent 8.7 seconds were spent processing 11 million weak
> references
>
> 2014-05-30T05:57:24.002+0000: 32724.998: [Full GC32726.138:
> [SoftReference, 154 refs, 0.0050380 secs]32726.143:
> [WeakReference, 7713339 refs, 0.3449380 secs]32726.488:
> [FinalReference, 1966941 refs, 0.1005860 secs]32726.588:
> [PhantomReference, 650797 refs, 0.0631680 secs]32726.652: [JNI
> Weak Reference, 0.0000060 secs] [PSYoungGen:
> 1012137K->0K(14784384K)] [ParOldGen:
> 16010001K->5894387K(16384000K)] 17022139K->5894387K(31168384K)
> [PSPermGen: 39256K->39256K(39552K)], 4.3463290 secs] [Times:
> user=98.05 sys=0.00, real=4.35 secs]
>
> While the throughput collector spent 0.34 seconds processing 7.7
> million weak references
>
>
> In summary, the G1 collector processed weak references at a rate of
> 1.27 million per second, while the throughput collector processed them
> at 22.36 million references per second. Is there a fundamental design
> reason that explains why the G1 collector should be so much slower in
> this regard, or might there be ways to improve upon it?
>
>
> Jason
>
>
>
>
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> 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/20140623/f4b11c07/attachment.html>
More information about the hotspot-gc-use
mailing list