title: Garbage collection YGCT and Garbage Collection Time keep rising
body: <p>I'm having a garbage collection problem where on our system, garbage collection time keeps rising lineairly until it reaches a constant of around 25 seconds. </p>
  
  <pre><code>  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT
    0.00  84.18  76.65  35.47  60.16    441   15.581    16    1.834   17.415
   75.72   0.00  97.32  35.47  60.16    442   15.770    16    1.834   17.604
    0.00  64.69  35.56  35.86  60.16    443   16.318    16    1.834   18.153
  100.00   0.00  19.91  35.87  60.16    444   16.381    16    1.834   18.215
    0.00  70.61  40.85  36.82  60.17    445   17.488    16    1.834   19.322
   28.80   0.00  19.61  36.82  60.17    446   17.535    16    1.834   19.369
   34.51   0.00  48.01  36.82  60.18    448   17.561    16    1.834   19.395
    0.00  10.86  20.48  37.11  60.21    453   17.979    16    1.834   19.813
    9.04   0.00  47.39  37.12  60.23    454   18.063    16    1.834   19.898
    0.00  71.26   2.65  37.14  60.23    455   18.173    16    1.834   20.007
   63.64   0.00  90.91  38.04  60.23    456   19.562    16    1.834   21.396
    0.00  76.45  42.70  38.04  60.23    457   19.592    16    1.834   21.426
  </code></pre>
  
  <p>This is just a snapshot of activity as I executed a little load test.</p>
  
  <p>I reviewed some snapshot, at which I'm not an expert, and did in fact find some memory problems. The obvious ones are now resolved.</p>
  
  <p>The machine has the following settings</p>
  
  <pre><code>JAVA_OPTS="$JAVA_OPTS 
  -server 
  -Xms704m 
  -Xmx704m 
  -XX:+HeapDumpOnOutOfMemoryError 
  -XX:HeapDumpPath=/var/log/tomcat6 
  -XX:MaxPermSize=192m 
  -XX:+UseConcMarkSweepGC 
  -XX:+CMSIncrementalMode 
  -XX:+CMSIncrementalPacing 
  -XX:+DisableExplicitGC
  " 
  </code></pre>
  
  <p>We use Java 6, Tomcat6, Spring Framework, Hibernate, EHCache for caching and use Quartz for various scheduling tasks. This item <a href="https://stackoverflow.com/questions/1071631/trying-to-track-down-a-memory-leak-garbage-collection-problem-in-java">link</a> actually helped resolve some issues which did lead to MAT reporting potential memory leaks, which is no longer the case.</p>
  
  <p>We played around a lot with all sorts of JVM settings on our test box but in all cases Garbage Collection Time kept growing to unacceptable levels, mainly because of the ever growing YGCT. Initially, I thought the cache was the culprit as we do cache object graphs and don't just use the Hibernate Second Level cache. But the memory use of the cache in MAT didn't seem that excessive at about 18Mbs size. </p>
  
  <p>Is this a memory leak or should I just be throwing more memory at it? If it is a memory leak, how can I best debug that in MAT?</p>