My Oracle Support Banner

Long JVM Pauses after GC Log Rotation on Solaris (Doc ID 2110707.1)

Last updated on MARCH 31, 2023

Applies to:

Java SE JDK and JRE - Version 7 to 8
Oracle Solaris on SPARC (64-bit)
Oracle Solaris on SPARC (32-bit)
Oracle Solaris on x86-64 (64-bit)
Oracle Solaris on x86 (32-bit)

Symptoms

On Solaris, Java SE 7 and 8 can experience extremely long pauses directly after GC log rotation.

Affects Java versions:


The problem can be reproduced with the following steps:

  1. Start any Java process that creates many entries in /proc/self/map and uses GC log rotation.  To create a Java process with many entries in /proc/self/map, the application can have many threads and/or open many Jar files with a classloader.
  2. Add -XX:+PrintGCStoppedTime to track safepoint pauses.
  3. Trigger enough activity such that the GC log rotates.
  4. Watch a long safepoint pause directly after log rotation. The problem should be easily noticeable with about 500-1000 entries in /proc/self/map.
 

Changes

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.