title: Garbage Collector taking too much CPU Time
body: <p>I've developed a Web Application which process a huge amount of data and takes a lot of time to complete?<br/></p>
  
  <p>So now I am doing profiling of my application and I noticed one very bad thing about GC.<br/>
  When a Full GC occurred it stops all process for 30 - 40 secs.<br/> </p>
  
  <p>I wonder if there is any way to improve this. I don't want to waist my CPU's that much time only in GC. Below are some details that can be useful:</p>
  
  <ol>
  <li>I am using Java 1.6.0.23<br/></li>
  <li>My Application takes 20 GB max memory.<br/></li>
  <li>A full GC occur after every 14 minutes.<br/></li>
  <li>Memory Before GC is 20 GB and after GC is 7.8 GB<br/></li>
  <li>Memory used in CPU (i.e. shown in task manager) is 41 GB.<br/></li>
  <li>After process completed(JVM is still running) Used memory 5 GB and free memory 15 GB.</li>
  </ol>