CMS initial mark pauses

Y. S. Ramakrishna y.s.ramakrishna at oracle.com
Thu Oct 14 11:56:31 PDT 2010


Hi Adam --

Do you have a fuller GC log (perhaps including
PrintCMSStatistics=2) to help make a sharper diagnosis?
It could be:-

    6412968 CMS: Long initial mark pauses

which we have unfortunately not gotten to addressing yet:
CMS initial mark work is (still) done single-threaded.
Usually there is little such work so we are usually fine,
but if survivor spaces are large and full and/or if CMS triggering
occupancy is such that CMS runs frequently then you can
be affected by long serial initial mark pauses because
the work is non-trivial. (CMS-remark and scavenges on
the other hand are done by several worker threads working
in parallel.)

Here's an excerpt from the "workaround" section of that bug
(reproduced here because i cannot seem to get bugs.sun.com
to display it) :-

> This is not really a viable workaround since it might lead to suboptimal
> heap configuration:
> (1) use no survivor spaces (at the risk of larger scavenge pauses, larger remark pauses,
>     even concurrent mode failures)
> (2) use a sufficiently large heap so as to be able to afford to set a
>     mark initiation threshold above the low water-mark (after a major
>     collection cycle). This will keep init-mark's riding on the coat-tails
>     of scavenges.
> *** (#1 of 2): 2006-04-13 09:53:14 PDT xxxx at oracle.com
> 
> Also, if using iCMS (Inceremental CMS), drop the Incremental mode and revert to
> vanilla CMS.
> *** (#2 of 2): 2010-04-14 11:02:03 PDT xxxx at oracle.com

If you have support, you can try escalating it via your support channels
to get this addressed, especially if the workaround/retuning doesn't
do the job.

-- ramki

On 10/14/10 11:31, Adam Hawthorne wrote:
> Hi all,
> 
> I'm seeing a customer running CMS with some fairly long initial mark 
> pauses, especially relative to all the other pauses.  The machine is (I 
> believe) an Itanium 6-way running HP-UX, with HP's version of Hotspot, 
> version 1.6.0.06 .
> 
> What I'm seeing is that all the remark and young gc pauses are less than 
> 500ms, and very consistent.  There are a lot of initial mark pauses that 
> also fall in this range.  That's our target, and things look really 
> good.  The problem is that there are occasional pauses of up to 1.5s, 
> which is unacceptable for the customer.  Does anyone have any ideas what 
> can cause (seemingly random) long initial mark pauses?
> 
> Here's an example of one of the long mark pauses:
> 
> 45946.930: [GC [1 CMS-initial-mark: 957254K(1598236K)] 
> 1473999K(2151196K), 1.3505680 secs] [Times: user=1.34 sys=0.00, 
> real=1.35 secs] 
> 
> Here's an example of one of the more typical pauses:
> 
> 45954.362: [GC [1 CMS-initial-mark: 963824K(1598236K)] 
> 1001370K(2151196K), 0.1579016 secs] [Times: user=0.16 sys=0.00, 
> real=0.16 secs] 
> 
> 
>  From my understanding, initial mark pauses are supposed to be 
> relatively short, and usually shorter than remark pauses, but I don't 
> have a remark pause greater than 300ms.
> 
> Any help is appreciated.  Thanks,
> 
> Adam
> 
> --
> Adam Hawthorne
> Software Engineer
> BASIS International Ltd.
> www.basis.com <http://www.basis.com>
> +1.505.345.5232 Phone
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> hotspot-gc-use mailing list
> hotspot-gc-use at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use


More information about the hotspot-gc-dev mailing list