<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Don't mean to jump in front of Monica. :-/   But, she can confirm. ;-)<div><br></div><div>A quick look at the G1 source code suggests that if InitiatingHeapOccupancyPercent=0, the following will happen:</div><div>- the first minor GC will initiate a concurrent cycle implying that you'll see a young GC with an initial-mark in the GC log w/ +PrintGCDetails</div><div>- every minor GC there after, as long as there is not an active concurrent cycle, will initiate the start of a concurrent cycle</div><div>* So, in other words, concurrent cycles will run back to back.  Remember that there needs to be a minor GC to initiate the concurrent cycle, i.e. the initial-mark. There is at least one caveat to that which I'll explain next.  So, once a concurrent cycle complete, the next concurrent cycle will not start, until the next minor GC, or a humongous allocation occurs as described next.</div><div>- If there is a humongous object allocation, a concurrent cycle will be initiated (if InitiattingHeapOccupancyPercent=0). This is done before the humongous allocation is done.</div><div><br></div><div>charlie ...</div><div><br><div><div><div>On Oct 19, 2012, at 12:58 PM, Kirk Pepperdine wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Monica,<div><br></div><div>Can you comment on what a value of 0 means?</div><div><br></div><div>Regards,</div><div>Kirk</div><div><br><div><div>On 2012-10-19, at 2:55 PM, Monica Beckwith <<a href="mailto:monica.beckwith@oracle.com">monica.beckwith@oracle.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  
  <div bgcolor="#FFFFFF" text="#000000">
    Couple of quick observations and questions - <br>
    <ol>
      <li>G1 is officially supported in 7u4. (There are numerous
        performance improvements that I recommend updating to the latest
        jdk7 update, if possible)</li>
      <li>What do you mean by old gen collection? Are you talking about
        MixedGCs?</li>
      <li>Instead of setting InitiatingHeapOccupancyPercent to zero,
        have you tried resizing your young generation?</li>
      <ol>
        <li>I see the NewRatio, but that fixes the nursery to 640,
          instead have you tried with a lower (than the min default) of
          nursery using the NewSize option?</li>
      </ol>
    </ol><p>-Monica<br>
    </p>
    <br>
    <br>
    On 10/19/2012 12:13 AM, csewhiz wrote:
    <blockquote cite="mid:13a7770622f.3368361147554026191.2919233442948217281@zoho.com" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;">
        <div>Hello All,</div>
        <div>  Sorry for posting this question in this mailing list. I
          am unable to find any answer for this. I am trying to tune our
          application for G1GC as we need very small pauses Below
          500msec. </div>
        <div>  But the problem is when we are runing with G1GC (under
          jdk 6_u37)  Old generation of garbage collection only
          happening when it is reaching the Max GC size I noticed on jdk
          6U 37 if max heap size is 1GB then it is close to 1sec 2GB
          close to 2 sec pauses. </div>
        <div> </div>
        <div>  Is there any parameter to force the old gc happening
          regularly. </div>
        <div> </div>
        <div>I am trying following setting, </div>
        <div> </div>
        <div>-Xms1280M -Xmx1280M -XX:+UseG1GC
          -XX:MaxTenuringThreshold=15 -XX:SurvivorRatio=8 -XX:NewRatio=1
          -XX:GCPauseIntervalMillis=7500 -XX:MaxGCPauseMillis=500
          -XX:InitiatingHeapOccupancyPercent=0 -XX:ParallelGCThreads=7
          -XX:ConcGCThreads=7 </div>
        <div> </div>
        <div>If anyone can give insight on how full GC is triggred
          internals will be of great help.</div>
        <div> </div>
        <div>PS: I have tried without any option for G1 but not of much
          help hence .. this one trying to be agressive ? but of not
          much help.</div>
        <div> </div>
        <div> </div>
        <div>Regards,</div>
        <div>Soumit<br>
          <br>
        </div>
      </div>
    </blockquote>
    <br>
    <div class="moz-signature">-- <br>
      <a href="http://www.oracle.com/" target="_blank"><span><oracle_sig_logo.gif></span></a><br>
      <font color="#666666" face="Verdana, Arial, Helvetica, sans-serif" size="2">Monica Beckwith | Java Performance Engineer<br>
        VOIP: <a href="tel:+1%20512%20401%201274" moz-do-not-send="true">+1 512 401 1274</a>
        <br>
        Texas </font>
      <br>
      <a href="http://www.oracle.com/commitment" target="_blank"><span><green-for-email-sig_0.gif></span></a>
      <font color="#4B7D42" face="Verdana, Arial, Helvetica, sans-serif" size="1">Oracle is committed to developing practices and
        products that help protect the environment</font>
      <!-- This signature was generated by the MyDesktop Oracle Business Signature utility version 3.9 -->
    </div>
  </div>

</blockquote></div><br></div></div></blockquote></div><br></div></div></body></html>