views:

149

answers:

1

I'm getting "abort preclean due to time" when running Concurrent Mark & Sweep in Java 6. What does it mean? Is the GC really halting in the middle before it did any real work?

+2  A: 

Check out the section MaxAbortablePrecleanTime in Masamitsu's blog. This will give you a better idea about what the preclean phase is doing. Better than i'm willing to type out ;)

reccles
Thanks for the link, it's a good read.I still failed to fully parse it though. This happens in the pre-clean, so it's not in a stop-the-world phase, correct? Is it a problem if we're seeing this message? Should I increase CMSMaxAbortablePrecleanTime?
ripper234
It isn't really a problem, the abort happens on the second preclean phase and is actually designed to abort if it takes too long. From my understanding this is because it's not as parallel as the next stages so if there is a lot of work to do there is no point in staying in that phase (although i could be wrong here, docs are a little thin on this).
reccles