Increased safepoint cleanup tasks in Java 11 (vs 8)
charlie hunt
charlie.hunt at oracle.com
Wed Jun 5 12:47:19 UTC 2019
Just a quick thought ... did you happen to do a comparison with
ThreadLocalHandshakes disabled in JDK 11.0.3? i.e.
-XX:-ThreadLocalHandshakes
thanks,
Charlie
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