<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi Fabian,<div class=""><br class=""></div><div class="">I don’t think the experimentation with your app is over. I don’t think the differences between the two runs can easily be dismissed as the result of changing the values of a few flags. In the first relatively short run, reference processing times clearly dominated resulting in Eden being shrunk in a feeble attempt to meet the pause time goal. I don’t think that the shrinkage in reference processing time cannot be solely attributed to turning on parallel reference processing. It seems as if something else changed. At any rate, I believe you should relax the minimum Eden size from 25%. I have posted a number of charts which anyone should be able to see @ <a href="https://drive.google.com/a/jclarity.com/file/d/0B6IuyTuhCQTPUGpFcDA4bF8zbUk/view?usp=sharing" class="">https://drive.google.com/a/jclarity.com/file/d/0B6IuyTuhCQTPUGpFcDA4bF8zbUk/view?usp=sharing</a>.</div><div class=""><br class=""></div><div class="">Regards,</div><div class="">Kirk</div><div class=""><br class=""></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 20, 2015, at 1:27 PM, Fabian Lange <<a href="mailto:fabian.lange@codecentric.de" class="">fabian.lange@codecentric.de</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class="gmail_quote"><div dir="ltr" class="">Hi,</div><div dir="ltr" class="">(originall posted on adoption-discuss)<br class=""><div class="">since a while I have been recommending and using G1GC for JDK 8 applications.</div><div class=""><br class=""></div><div class="">This week I was looking at an application which should be the ideal candidate.</div><div class="">It was given 4GB ram, has a steady memory usage of about 1-2GB and during its work it generates only garbage. It reads data from sockets, deserializes it, manipulates it, serializes it and writes it out to sockets. It is processing 100k to 500k of such requests per second.</div><div class=""><br class=""></div><div class="">With the default G1 settings the machine was very loaded. The collection times were pretty long. It even ran out of memory a few times because the GC could not catch up.</div><div class=""><br class=""></div><div class="">When looking at the logs I was surprised to see extremely small eden/young sizes. The old gen was really big (like 3.5GB, but mostly empty) while G1 was churning on 300MB young.</div><div class=""><br class=""></div><div class="">I raised the question on <a href="https://groups.google.com/a/jclarity.com/d/msg/friends/hsZiz6HTm9M/MbuttBioCgAJ" target="_blank" class="">https://groups.google.com/a/jclarity.com/d/msg/friends/hsZiz6HTm9M/MbuttBioCgAJ</a> where Charlie Hunt was so kind to explain the reasons behind the behaviour. It either did not make sense to me, or I did not understand the explanation. </div><div class=""><br class=""></div><div class="">What I did is what I always did regardless of the collector: I increased young space, knowing it contains mostly garbage.</div><div class="">The overall behaviour of the JVM was much improved by that.</div><div class=""><br class=""></div><div class="">I found it irritating, that according to Charlie, the main reason for the small eden is the Pause Time Limit. Because GC was not meeting its goal it reduced eden. While I observed better results doing the opposite.</div><div class=""><br class=""></div><div class="">I also enabled -XX:+<span style="font-family:Arial,Helvetica,sans-serif;font-size:13px" class="">ParallelRefProcEnabled.</span></div><div class=""><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px" class=""><br class=""></span></div><div class=""><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px" class="">Logs are available from the above discussion, but I can send them in separate mail if desired.</span></div><div class=""><span style="font-family:Arial,Helvetica,sans-serif;font-size:13px" class=""><br class=""></span></div><div class=""><font face="Arial, Helvetica, sans-serif" class="">As far as I can tell the ergonomics are not working for me, and the changes I need to do are counter intuitive. From other discussions I learned that quite many people observed better overall performance with raising the pause time restriction.</font></div><div class=""><font face="Arial, Helvetica, sans-serif" class=""><br class=""></font></div><div class=""><font face="Arial, Helvetica, sans-serif" class="">Is there public information to why the current defaults are as they are? How would feedback on these defaults work?</font></div><div class=""><br class=""></div><div class="">Best regards,</div><div class="">Fabian</div></div>
</div><br class=""></div>
</div></blockquote></div><br class=""></div></body></html>