<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000"><div><div class=""><br>
    </div></div><div class="">
    <blockquote type="cite">
      <div dir="ltr">
        <div>1. "<span style="font-family:arial,sans-serif;font-size:13px">-XX:</span><span style="font-family:arial,sans-serif;font-size:13px">InitiatingHeapOccupancyPercent</span><span style="font-family:arial,sans-serif;font-size:13px">=0
            should trigger concurrent gcs too much. "</span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px">We
            use </span><span style="font-family:arial,sans-serif;font-size:13px">InitiatingHeapOccupancyPercent</span><span style="font-family:arial,sans-serif;font-size:13px"> to make
            sure the gc is always active. How is </span><span style="font-family:arial,sans-serif;font-size:13px">InitiatingHeapOccupancyPercent
            related to Full GC:s?</span></div>
      </div>
    </blockquote>
    </div><span style="font-family:arial,sans-serif;font-size:13px">InitiatingHeapOccupancyPercent</span><span style="font-family:arial,sans-serif;font-size:13px"></span>
    determines when concurrent gcs are triggered, so that we can do
    mixed gc.  In your case,the heap usage after full gc is 15.5g, you
    can try to set this to 60.<br>
    <br>
    But this is not the reason why you get full gcs.<br>
    <br>
    The mixed gc should be able to clean more.  <br></div></blockquote><div><br></div><div>Thanks. Do you mean <span style="font-family:arial,sans-serif;font-size:13px">InitiatingHeapOccupancyPercent</span><span style="font-family:arial,sans-serif;font-size:13px">=0 is disabling some features? I thought it simply triggers the clean to start earlier (always on). Will try different values, but would like to know what harm =0 does?</span></div>

<div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">


    In the gc log, there are a lot of messages like:<br>
    1. "750.559: [G1Ergonomics (CSet Construction) finish adding old
    regions to CSet, reason: reclaimable percentage not over threshold,
    old: 38 regions, max: 379 regions, reclaimable: <a href="tel:3172139640" value="+13172139640" target="_blank">3172139640</a> bytes
    (9.99 %), threshold: 10.00 %]"<br>
    <br>
    the 10% threshold is controlled by -XX:G1HeapWastePercent=10.  You
    can try 5% so that more mixed gcs will happen after the concurrent
    cycles.<br></div></blockquote><div><br></div><div>Thanks, will try that.</div><div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000">
    2. Depending on if target pause time =500 is critical.<br>
    Currently, the gc pause is > 500ms.  If keeping gc pause <500
    is critical, you need to decrease Eden size.<br>
    We need to take another look at the gc logs then.<br>
    <br>
    If you can relax the target pause time, please increase it, so that
    we do not see too many <br></div></blockquote><div><br></div><div>It's a web application so response time is important for users, will try 75 and GCPauseIntervalMillis=1000</div><div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000">
    " 5099.012: [G1Ergonomics (CSet Construction) finish adding old
    regions to CSet, reason: predicted time is too high, predicted time:
    3.34 ms, remaining time: 0.00 ms, old: 100 regions, min: 100
    regions]", maybe even to try,  -XX:G1MixedGCCountTarget=<4>. 
    This determines the minimum old regions added to CSet<br></div></blockquote><div><br></div><div>Will try that too.</div><div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000">
    <br>
    This workload has high reference process time.  It is good that you
    have enabled parallel reference processing. Â  It seems the parallel
    work is distributed among the 13 gc threads well.  Though the work
    termination time is high.  If you are not cpu bound, you can try to
    increase the gc threads to 16 using -XX:ParallelGCThreads=16,
    ASSUMING you are not cpu bound, your system has 20-cpu threads?<br></div></blockquote><div><br></div><div>There are 16 cpus so I assume there are 16 threads... </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000">
    <br>
    There are a lot of system cpu activities, which might contribute to
    longer gc pause.  I used to see people reported this is due to
    logging.  Not sure if this applies to your case.</div></blockquote><div><br></div><div>Which are these? Do you mean gc logging being on might contribute to something? </div><div><br></div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000"><div class=""><br>
    <blockquote type="cite">
      <div dir="ltr">
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px">2.
            "</span><span style="font-family:arial,sans-serif;font-size:13px">What is
            the jdk version?   </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px">
            <div>java version "1.7.0_55"</div>
            <div>Java(TM) SE Runtime Environment (build 1.7.0_55-b13)</div>
            <div>Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03,
              mixed mode)</div>
            <div><br>
            </div>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px">3.
            Can you share the gc log?"</span></div>
        <br>
        <div>Log is available at <a href="http://81.22.250.165/log" target="_blank">81.22.250.165/log</a></div>
        <div><br>
        </div>
        4. I wonder if it is possible to have mixed set of
        different/automatically varying  sizes of <span style="font-family:arial,sans-serif;font-size:13px">G1HeapRegionSize's
          small for smaller objects and larger for larger objects?</span></div>
    </blockquote></div>
    Currently we do not have mixed region size.<br></div></blockquote><div><br></div><div>Has this been tried in some gc?</div><div><br></div><div>**<br>Martin</div><br class=""><div> </div><blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div bgcolor="#FFFFFF" text="#000000">
    <blockquote type="cite"><div class="">
      <div dir="ltr">
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px"><br>
          </span></div>
        <div><span style="font-family:arial,sans-serif;font-size:13px">**<br>
            Martin</span></div>
      </div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">2014-06-07 11:03 GMT+03:00 Martin
          Makundi <span dir="ltr"><<a href="mailto:martin.makundi@koodaripalvelut.com" target="_blank">martin.makundi@koodaripalvelut.com</a>></span>:<br>
          <blockquote class="gmail_quote" style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
            <div dir="ltr">
              <div>Why does G1GC do Full GC when it only needs only 40
                bytes?<br>
              </div>
              <div><br>
              </div>
              <div>Is there a way to tune this so that it would try to
                free up "some" chunk of memory and escape the full gc
                when enough memory has been freed? This Â would lower the
                freeze time?</div>
              <div><br>
              </div>
              See logs:
              <div><br>
              </div>
              <div>
                <div class="gmail_extra">
                  <div class="gmail_extra"> [Times: user=12.89 sys=0.16,
                    real=1.25 secs]</div>
                  <div class="gmail_extra">2014-06-06T17:11:48.727+0300:
                    34022.631: [GC concurrent-root-region-scan-start]</div>
                  <div class="gmail_extra">2014-06-06T17:11:48.727+0300:
                    34022.631: [GC concurrent-root-region-scan-end,
                    0.0000180 secs]</div>
                  <div class="gmail_extra">2014-06-06T17:11:48.727+0300:
                    34022.631: [GC concurrent-mark-start]</div>
                  <div class="gmail_extra"> 34022.632: [G1Ergonomics
                    (Heap Sizing) attempt heap expansion, reason:
                    allocation request failed, allocation request: 40
                    bytes]</div>
                  <div class="gmail_extra"> 34022.632: [G1Ergonomics
                    (Heap Sizing) expand the heap, requested expansion
                    amount: 8388608 bytes, attempted expansion amount:
                    8388608 bytes]</div>
                  <div class="gmail_extra"> 34022.632: [G1Ergonomics
                    (Heap Sizing) did not expand the heap, reason: heap
                    expansion operation failed]</div>
                  <div class="gmail_extra">{Heap before GC
                    invocations=1867 (full 1):</div>
                  <div class="gmail_extra">
                    Â garbage-first heap Â  total 31457280K, used
                    31453781K [0x00007f1724000000, 0x00007f1ea4000000,
                    0x00007f1ea4000000)</div>
                  <div class="gmail_extra">  region size 8192K, 0 young
                    (0K), 0 survivors (0K)</div>
                  <div class="gmail_extra">
                    Â compacting perm gen Â total 524288K, used 166271K
                    [0x00007f1ea4000000, 0x00007f1ec4000000,
                    0x00007f1ec4000000)</div>
                  <div class="gmail_extra">  Â the space 524288K, Â 31%
                    used [0x00007f1ea4000000, 0x00007f1eae25fdc8,
                    0x00007f1eae25fe00, 0x00007f1ec4000000)</div>
                  <div class="gmail_extra">No shared spaces configured.</div>
                  <div class="gmail_extra">2014-06-06T17:11:48.728+0300:
                    34022.632: [Full GC 29G->13G(30G), 47.7918670
                    secs]</div>
                  <div><br>
                  </div>
                  <div><br>
                  </div>
                  <div>Settings:</div>
                  <div><br>
                  </div>
                  <div>-server -XX:InitiatingHeapOccupancyPercent=0
                    -Xss4096k -XX:MaxPermSize=512m -XX:PermSize=512m
                    -Xms20G -Xmx30G -Xnoclassgc
                    -XX:-OmitStackTraceInFastThrow -XX:+UseNUMA
                    -XX:+UseFastAccessorMethods
                    -XX:ReservedCodeCacheSize=128m -XX:-UseStringCache
                    -XX:+UseGCOverheadLimit -Duser.timezone=EET
                    -XX:+UseCompressedOops -XX:+DisableExplicitGC
                    -XX:+AggressiveOpts
                    -XX:CMSInitiatingOccupancyFraction=70
                    -XX:+ParallelRefProcEnabled
                    -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=500
                    -XX:+UseG1GC -XX:G1HeapRegionSize=8M
                    -XX:GCPauseIntervalMillis=10000 -XX:+PrintGCDetails
                    -XX:+PrintHeapAtGC -XX:+PrintAdaptiveSizePolicy
                    -XX:+PrintGCDateStamps -XX:+PrintGC -Xloggc:gc.log<br>
                  </div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div><div class=""><pre>_______________________________________________
hotspot-gc-use mailing list
<a href="mailto:hotspot-gc-use@openjdk.java.net" target="_blank">hotspot-gc-use@openjdk.java.net</a>
<a href="http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use" target="_blank">http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use</a>
</pre>
    </div></blockquote>
    <br>
  </div>

</blockquote></div><br></div></div>