How to exercise the GC notification code in gcNotifier.cpp

Krystal Mok rednaxelafx at gmail.com
Thu Aug 4 18:41:44 PDT 2011


Hi John,

If you prefer JConsole for testing interactively, you can explicitly
subscribe/unsubscribe to a GarbageCollector notification, like this:
http://rednaxelafx.iteye.com/upload/picture/pic/96172/7ad699e0-c8aa-3cce-ad92-0f0226c98fd6.png
1. Select the MBeans tab, then select a java.lang.GarbageCollector
2. Click "Notifications" under the GarbageCollector
3. Click the "Subscribe" button on the bottom right
and then sun.management.GarbageCollectorImpl.addNotificationListener() will
be invoked, which in turn will set SetGCNotificationEnabled to
true. Unsubscribing is similar.

The notification code was added in this rev (or somewhere close...):
http://hg.openjdk.java.net/jdk7/hotspot/jdk/rev/5b38ed5f5eb4

Regards,
Kris Mok

On Fri, Aug 5, 2011 at 6:12 AM, John Cuthbertson <
john.cuthbertson at oracle.com> wrote:

> Hi Everyone,
>
> After investigating an issue that was reported while running a fairly
> substantial application, I believe I have found naked oop in the GC
> notification code which I think is the cause of the problem The oop in
> question is the muKlass oop in createGCInfo in gcNotifier.cpp. This code is
> executed by the ServiceThread as part of the sendNotification routine which
> pulls items from some request queue. The items on this queue seem to be
> added as a result of GC end events being pushed by the MemoryManagerService
> if the routine GCMemoryManager::is_**notification_enabled() returns true.
> This field is set to true by the routine jmm_SetGCNotificationEnabled in
> management.cpp. Can anyone tell me how I can explicitly exercise this code?
> I have tried some things in jconsole and jvisualvm but have so far been
> unsuccessful.
>
> Thanks,
>
> JohnC
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20110805/8e423b5e/attachment.html 


More information about the hotspot-gc-dev mailing list