<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>