Why abortable-preclean phase is not being aborted after YG occupancy exceeds 50%?
Bernd Eckenfels
bernd.eckenfels at googlemail.com
Tue Aug 21 21:14:35 PDT 2012
Am 22.08.2012, 04:41 Uhr, schrieb Srinivas Ramakrishna <ysr1729 at gmail.com>:
> Initial mark is typically scheduled immediately after a scavenge, so no
> timeout specification should be necessary. Perhaps I misunderstood yr
> question and may be you can elaborate a bit more on what you want to
> achieve?
Well, I have a gclog which contains some STW situations > 1s (which
violates my SLA). If I check the GCLog file there are some initial-marks
and some remarks causing the problem. For the slow initial-marks I see the
pattern that the time difference to the preceeding scavenger run is large.
For the initial marks which run sub second, they happen all directly after
a scavenger run.
So here is a slow samples:
159430.703: [GC 159430.705: [ParNew: 20646923K->582368K(22649280K),
0.4311960 secs]
21710818K->1665223K(47815104K), 0.4343870 secs] [Times:
user=1.92 sys=0.02, real=0.43 secs]
159607.370: [GC [1 CMS-initial-mark: 1082855K(25165824K)]
14734770K(47815104K), 11.1184690 secs]
[Times: user=11.06 sys=0.03, real=11.12 secs]
159618.490: [CMS-concurrent-mark-start]
159618.930: [CMS-concurrent-mark: 0.440/0.440 secs] [Times: user=4.59
sys=0.16, real=0.44 secs]
Difference 176s, 11s STW
And here is the next run, which is typically fast:
166807.592: [GC 166807.594: [ParNew: 21200224K->372584K(22649280K),
0.4462060 secs]
22444233K->1629155K(47815104K), 0.4493750 secs] [Times:
user=1.43 sys=0.01, real=0.45 secs]
166808.057: [GC [1 CMS-initial-mark: 1256570K(25165824K)]
1629155K(47815104K), 0.3039830 secs]
[Times: user=0.31 sys=0.00, real=0.31 secs]
Difference 0.4s, 0.3s STW
I need to collect the actual jvm parameters, version and gclogfile and
will provide it. I am actually waiting for a CMSStatistics=2 version.
Greetings
Bernd
More information about the hotspot-gc-use
mailing list