Parallel GC thread priority

Azeem Jiva azeem.jiva at oracle.com
Fri Sep 7 15:20:57 UTC 2012


The Parallel collector is a stop-the-world collector.  The Java threads 
are suspended until the GC finishes.  I think your survivor spaces maybe 
mis-configured, and that's why you're seeing such large GC times.


On 09/07/2012 10:17 AM, Dmytro Sheyko wrote:
> Hi,
>
> I can see that Parallel GC works on threads with NormPriority, while 
> CMS and G1 threads run with NearMaxPriority. This probably not an 
> issue if java application works alone, but some time ago I observed GC 
> log like this (it was Jenkins CI on Windows):
>
> [Full GC [PSYoungGen: 10352K->0K(171904K)] [PSOldGen: 
> 403417K->114637K(415872K)] 413769K->114637K(587776K) [PSPermGen: 
> 76315K->76315K(83968K)], 30.2595731 secs] [Times: user=0.77 sys=0.41, 
> real=30.26 secs]
>
> Despite cpu time for GC was just 1.18 sec (= 0.77 + 0.41), the real 
> time was 30.26 sec! It seems to me that the system was busy that time 
> and GC threads was starving.
>
> If we could raise priority of Parallel GC threads, other application 
> would have less impact on GC duration.
>
> What do you think?
>
> Thanks,
> Dmytro

-- 
Azeem Jiva
@javawithjiva

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20120907/de1dc20a/attachment.htm>


More information about the hotspot-gc-dev mailing list