1 Reply Latest reply on Jan 26, 2011 2:48 PM by PhHein

    garbage collection tuning

      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

      crossposting from: Re: garbage collection tuning