i am running into an gc issue wherein we see multiple promotion failure statements in gc log.
these promotion failure statements in gc logs also shows CMS pause which i beilieve is for compacting the heap (?) and pause time seem to be equally bad as that of full gc.
i suspect this is due to fragmentation of the heap.
i have following questions:
1) does promotion failure happen during copying objects from eden -> survivor or from survivor -> tenure generation?
2) is there any way to avoid fragmentation or use heap compaction with CMS collector?
3) if we use default gc parameters and collector, is parallel compaction turned on by default or do we need to explicitly turn it on? im using jdk 6
4) any tools (preferably opensource) that allows us to analyze heap segments in detail like what objects reside on which segment during one heap snapshot. i have checked some of the profilers, visualvm, visualgc but they did not show detailed segment specific analysis of heap apart from size of these segments and and gc activity.
platform: linux (tried both 32 and 64 bit)
jvm: sun jdk 6 server class vm
heap size: max, min 3g, young gen 512m (as we create large number of temp objects), survivor ratio: 8
Please post a link to this thread in your other thread too, just to avoid duplicate replies. Or do you want the old one to be locked? Or I can move the old thread here and delete this one. Your choice.