CMSEdenChunksRecordAlways & CMSParallelInitialMarkEnabled

graham sanderson graham at vast.com
Fri Jun 13 04:16:48 UTC 2014


Hi, I hope this is the right list for this question:

I was investigating abortable preclean timeouts in our app (and associated long remark pause) so had a look at the old jdk6 code I had on my box, wondered about recording eden chunks during certain eden slow allocation paths (I wasn’t sure if TLAB allocation is just a CAS bump), and saw what looked perfect in the latest code, so was excited to install 1.7.0_60-b19

I wanted to ask what you consider the stability of these two options to be (I’m pretty sure at least the first one is new in this release)

I have just installed locally on my mac, and am aware of http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8021809 which I could reproduce, however I wasn’t able to reproduce it without -XX:-UseCMSCompactAtFullCollection (is this your understanding too?)

We are running our application with 8 gig young generation (6.4g eden), on boxes with 32 cores… so parallelism is good for short pauses

we already have

-XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled

we have seen a few long(isn) initial marks, so 

-XX:+CMSParallelInitialMarkEnabled sounds good

as for 

-XX:+CMSEdenChunksRecordAlways

my question is: what constitutes a slow path such an eden chunk is potentially recorded… TLAB allocation, or more horrific things; basically (and I’ll test our app with -XX:+CMSPrintEdenSurvivorChunks) is it likely that I’ll actually get less samples using -XX:+CMSEdenChunksRecordAlways in a highly multithread app than I would with sampling, or put another way… what sort of app allocation patterns if any might avoid the slow path altogether and might leave me with just one chunk?

Thanks,

Graham

P.S. less relevant I think, but our old generation is 16g
P.P.S. I suspect the abortable preclean timeouts mostly happen after a burst of very high allocation rate followed by an almost complete lull… this is one of the patterns that can happen in our application
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20140612/e29a23d9/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1574 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20140612/e29a23d9/smime.p7s>


More information about the hotspot-gc-dev mailing list