Increased safepoint cleanup tasks in Java 11 (vs 8)
Vitaly Davidovich
vitalyd at gmail.com
Wed Jun 5 15:37:21 UTC 2019
On Wed, Jun 5, 2019 at 8:58 AM Vitaly Davidovich <vitalyd at gmail.com> wrote:
> Hey Aleksey,
>
> On Wed, Jun 5, 2019 at 8:52 AM Aleksey Shipilev <shade at redhat.com> wrote:
>
>> On 6/5/19 2:33 PM, Vitaly Davidovich wrote:
>> > Does anyone have ideas on pinpointing this further?
>>
>> I have the educated guess:
>> https://bugs.openjdk.java.net/browse/JDK-8181859
>>
>> Which means you can try if -XX:MonitorUsedDeflationThreshold=0 reduces
>> the number of "guaranteed"
>> safepoints.
>>
> Hmm, the application doesn't use JVM monitors (in any meaningful
> capacity). But interesting JBS entry - I will try it out, thanks! The
> description of safepoint clean up in there is/was consistent with my
> understanding as well. On Java 8, we'd see the "no vm operation" safepoint
> operations, and I always assumed it was IC buffer cleaning (even had a mail
> thread on that topic a few years ago, either on this list or
> hotspot-compiler). That tended to stabilize (i.e. they went away) after
> the application reached steady state, whereas I'm seeing essentially
> non-stop safepoint cleanups on 11.
>
Ok, adding -XX:MonitorUsedDeflationThreshold=0 seems to alleviate the issue
- # of entered safepoint cleanups looks on par with Java 8, although I'm
still assessing a bit more.
Of course now the trouble is this is an experimental option, and enabling
things like that in production raises eyebrows. Is it safe to assume,
however, that setting this to 0 essentially behaves like Java 8? It appears
so, based on that JBS Aleksey linked above. But just double checking.
If that's the case, then perhaps we can overlook the experimental bit and
wait until this is done outside safepoints, per Robbin's email.
Thanks to everyone that responded on this thread! Very helpful.
>
>> --
>> Thanks,
>> -Aleksey
>>
>>
More information about the hotspot-runtime-dev
mailing list