<div dir="ltr"><div dir="ltr"><div>Hello, FYI, we found a bug related to the loadaverage threshold. At the moment users can specify only an integer value<br><br></div><div><i>manageable(uintx, G1PeriodicGCSystemLoadThreshold<br></i><br></div><div>But in the code it's compared with double <i>recent_load</i>.<br><br></div><div><i>double recent_load;<br>if ((G1PeriodicGCSystemLoadThreshold > 0) && (os::loadavg(&recent_load, 1) == -1 || recent_load > G1PeriodicGCSystemLoadThreshold)) {<br> log_debug(gc, periodic)("Load %1.2f is higher than threshold "UINTX_FORMAT ". Skipping.", recent_load, G1PeriodicGCSystemLoadThreshold);<br> return false;<br>}<br><br></i></div><div>In a normal situation loadaverage will be between 0 and 1 for one CPU core host system (a loadaverage bigger than 1 means a high load on the host system). So, users were not able to specify something like 0.5 or even lower. </div><div><br></div><div>Thomas has already prepared a fix JDK-8215548, the fix might be included in 12b25 depending on the required paperwork. </div><div><br></div><div>Please let us know if there are any additional questions or concerns. </div><div>Regards <br><br></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 18 Dec 2018 at 13:19, Ruslan Synytsky <<a href="mailto:rs@jelastic.com">rs@jelastic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 18 Dec 2018 at 12:03, Aleksey Shipilev <<a href="mailto:shade@redhat.com" target="_blank">shade@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12/18/18 11:39 AM, Thomas Schatzl wrote:<br>
>> One more minor suggestion - G1PeriodicGCInterval should be defined in<br>
>> milliseconds at the moment which seems impractical to me. Not clear<br>
>> why somebody would need to trigger GC less than in minutes, so people<br>
>> will always write a lot of 000. Can we update it to seconds at least?<br>
> <br>
> You can use SI prefixes like "k" or "M" (probably do not need "G" :) )<br>
> to reduce the number of zeros.<br>
> <br>
> Not really hung up on the scale, I am going to ask for more opinions.<br>
> We need to come to a conclusion relatively quickly though as we are<br>
> late in the release process already.<br>
> <br>
> I think the reason for choosing ms is because so far all times were in<br>
> ms, and Shenandoah also uses that scale. Otoh J9 uses seconds too.<br>
<br>
Shenandoah also chose "ms" for consistency reasons.<br>
<br>
In practical terms, sometimes there is a compelling need to do _concurrent_ GC more frequently than<br>
once a second. Think about tiny heap and GC taking just a few milliseconds. Then, to keep memory<br>
footprint under control, it would make sense to do GC every, say, 300 milliseconds. This is probably<br>
a bad idea for the STW GC, but still can be tolerable if GC cycle is in milliseconds range. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Unfortunately, we don't have support for SI prefixes going downwards from 1 (e.g. milli-, micro-),<br>
right? Keeping the units in milliseconds, and slapping the SI prefix would be much more confusing<br>
with 1K meaning "1 second"...<br></blockquote><div> </div><div>Ok, having support of prefixes is solving the issue. Just checked it for G1PeriodicGCInterval - 1k is the same as 1K = 1 second.<br></div><div><br></div><div>Regards </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
-Aleksey<br>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_3049480719316079326gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:12.8px"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:"Times New Roman""><span style="font-family:Calibri,sans-serif;font-size:15px">Ruslan</span><br style="font-family:Calibri,sans-serif;font-size:15px"><span style="font-family:Calibri,sans-serif;font-size:15px">CEO @ </span><span style="font-family:Calibri,sans-serif;font-size:15px"><a href="https://jelastic.com/" style="color:rgb(17,85,204)" target="_blank">Jelastic</a></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-size:12.8px"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:"Times New Roman""><span style="font-family:Calibri,sans-serif;font-size:15px">Ruslan</span><br style="font-family:Calibri,sans-serif;font-size:15px"><span style="font-family:Calibri,sans-serif;font-size:15px">CEO @ </span><span style="font-family:Calibri,sans-serif;font-size:15px"><a href="https://jelastic.com/" style="color:rgb(17,85,204)" target="_blank">Jelastic</a></span></div></div></div></div></div></div></div></div></div></div></div></div></div></div>