Increased safepoint cleanup tasks in Java 11 (vs 8)
Vitaly Davidovich
vitalyd at gmail.com
Wed Jun 5 12:54:37 UTC 2019
Hi Charlie,
On Wed, Jun 5, 2019 at 8:47 AM charlie hunt <charlie.hunt at oracle.com> wrote:
> Just a quick thought ... did you happen to do a comparison with
> ThreadLocalHandshakes disabled in JDK 11.0.3? i.e.
> -XX:-ThreadLocalHandshakes
>
No, haven't tried without TLH. I'm actually pretty excited about them -
avoiding global safepoints, where possible, is super attractive. Why do
you think TLH can contribute to more frequent safepoints (or rather,
cleanup ops)?
>
> thanks,
>
> Charlie
>
Thanks
>
> On 6/5/19 7:33 AM, Vitaly Davidovich wrote:
> > Hi all,
> >
> > I'm looking at a Java 11 (11.0.3) application and observing a *lot* more
> > safepoint cleanup operations than on the latest Java 8 VM. I was hoping
> > someone could shed some light on this, and perhaps suggest a way to get
> > more information about the nature of the cleanup.
> >
> > The guaranteed safepoint poll timer fires every (by default) 1 sec, which
> > is no different from 8. However, as mentioned, it looks like 11 has work
> > to do during a poll a lot more frequently. Unfortunately, the ULF
> logging
> > that I have doesn't tell me the precise nature of the cleanup:
> > [... timestamp ...][info ][safepoint ] Entering safepoint region: Cleanup
> > [... timestamp ...][info ][safepoint ] Leaving safepoint region
> >
> > The "Cleanup", unfortunately, appears to be the generic
> > vm_operation_name(). But I suspect it's one of the tasks listed in the
> > SafepointCleanupTasks enum:
> >
> https://github.com/openjdk/jdk11u/blob/737d8437886ad97c6ed21a25b9911c10b3886f61/src/hotspot/share/runtime/safepoint.hpp#L80
> >
> > My guess would be it's SAFEPOINT_CLEANUP_STRING_TABLE_REHASH because
> tiered
> > compilation is disabled, ParallelGC is being used, and biased locking is
> > disabled; all of this is the same as on Java 8. Or might this be
> something
> > else? Presumably it's something "new" in Java 11 that triggers inside
> >
> https://github.com/openjdk/jdk11u/blob/737d8437886ad97c6ed21a25b9911c10b3886f61/src/hotspot/share/runtime/safepoint.cpp#L644
> >
> > Does anyone have ideas on pinpointing this further? How do I get the
> > precise cleanup operation to show up in the log?
> >
> > Thanks
>
More information about the hotspot-runtime-dev
mailing list