>>I thoguht that it would be a good idea to promote more objects to tenure and take advantage of the CMS collector.
Actually, this is a bad idea based on testing that i haved done. Two reasons:
1) The pauses during CMS and G1 collections (yes, there are pauses - two of them) are about as long as the pause caused by minor collection.
2) While CMS and G1 run, they are using up one entire processor/core at 100% because they are memory and processor intensive. You want those collectors to run as rarely as possible. If you tenure every object that lives through a minor collection, then you are going to run CMS/G1 more often and thus will more often lose the use of a core to process business requests.
See this white paper:
Java Garbage Collection Performance Analysis 201
at http://www.cmg.org/cgi-bin/search.cgi?q=java+peter+johnson&x=30&y=10
(I worked with a beta version of G1, so take the stability warnings with a grain of salt)