title: Java: Why is the default for XX:SurvivorRatio not used?
body: <p>If you look at the documentation (e.g. <a href="http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html" rel="nofollow">http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html</a> ) you will find a default 8 for XX:SurvivorRatio.</p>
  
  <p>If you check a running jvm which has been startet without explicitly setting a SurvivorRation you can see this default:</p>
  
  <pre><code>jmap -heap &lt;pid&gt;
  </code></pre>
  
  <p>will output</p>
  
  <pre><code>...
  SurvivorRatio    = 8
  ...
  </code></pre>
  
  <p>But if you check the maximum size for S1 S0 using VisualGC, you can see that a SurvivorRatio = 1 is used instead.</p>
  
  <p>The picture changes if you start the java programm explicitly whith -XX:SurvivorRatio=8</p>
  
  <p>So why the default. A Default which is not used is quite irritating.</p>