GC related diag messages accumulating in Java heap

Thomas Viessmann thomas.viessmann at oracle.com
Wed Jul 3 08:07:47 UTC 2013

Hi all,

in a Java heap dump of 7u21 we can see accumulating tons of GC related 
diagnostics message strings.
This will result in an OOME finally. These millions of strings are e.g.:

"end of minor GC", "end of major GC",  "Copy",  "Allocation Failure", 
"PS Scavenge"

Interestingly these stings are root objects and are never been 
collected. What is
the purpose of these messages? Are they supposed to go into a logfile?
We didn't see them anywhere.

And what JVM flag needs to be enabled to trigger their creation?

 From memoryManager.cpp

     if (*is_notification_enabled()*) {
     320       bool isMajorGC = this == 
     321       GCNotifier::pushNotification(this, isMajorGC ? "end of 
major GC" : "end of minor GC",
     322 GCCause::to_string(cause));

In other words, how can we set the boolean _notification_enabled to 
false in order to suppress
the creation of these annoying strings?

Further on I'm wondering why these strings are being created in Java 
heap rather than as internal strings
in perm in order to avoid millions of duplicates.

Right now I consider this a bug which is btw not reproducible with 
JRockit and also not reproducible
with Java SE 6. Only 7.

Thanks and Regards


Oracle <http://www.oracle.com>
THOMAS VIESSMANN | Senior Principal Technical Support Engineer - Java
Phone: +498914302496 <tel:+49814302496> | Mobile: +491743005467 
Oracle Customer Technical Support - Java

ORACLE Deutschland B.V. & Co. KG | Riesstr.25 | D-80992 Muenchen

ORACLE Deutschland B.V. & Co. KG
Hauptverwaltung: Riesstr. 25, D-80992 Muenchen
Registergericht: Amtsgericht Muenchen, HRA 95603
Geschäftsführere: Juergen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher

Green Oracle <http://www.oracle.com/commitment> Oracle is committed to 
developing practices and products that help protect the environment

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130703/a9d00072/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 658 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130703/a9d00072/attachment.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 356 bytes
Desc: not available
URL: <https://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130703/a9d00072/attachment-0001.gif>

More information about the hotspot-gc-dev mailing list