title: JVM Tenured/Old gen reached limit & server hanging
body: <p>Our application requires very huge memory since it deals with very large data. Hence we increased our max heap size to 12GB (-Xmx).</p>
  
  <p>Following are the environment details</p>
  
  <pre><code>OS - Linux 2.6.18-164.11.1.el5    
  JBoss - 5.0.0.GA
  VM Version - 16.0-b13 Sun JVM
  JDK - 1.6.0_18
  </code></pre>
  
  <p>We have above env &amp; configuration in our QA &amp; prod.
  In QA we have max PS Old Gen (Heap memory) allocated as 8.67GB whereas in Prod it is just 8GB.</p>
  
  <p>In Prod for a particular job Old Gen Heap reaches 8GB, hangs there and the web URL become inaccessible. Server is getting down.
  But in QA also it reaches 8.67GB but full GC is performed and its coming back to 6.5GB or something. Here its not getting hanged.</p>
  
  <p>We couldn't figure out a solution for this because both the environment and configuration on both the boxes are same.</p>
  
  <p>I have 3 questions here,</p>
  
  <blockquote>
    <p>2/3rd of max heap will be allocated to
    old/tenured gen. If that is the case
    why it is 8GB in one place and 8.67GB
    in another place?</p>
    
    <p>How to provide a valid ratio for New
    and Tenure in this case(12GB)?</p>
    
    <p>Why it is full GCed in one place and
    not in the other?</p>
  </blockquote>
  
  <p>Any help would be really appreciable. Thanks.</p>
  
  <p>Pls let me know if you need further details on env or conf.</p>