RFR(M,v9): JDK-8059036 : Implement Diagnostic Commands for heap and finalizerinfo (original) (raw)

Dmitry Samersoff dmitry.samersoff at oracle.com
Tue May 26 14:16:10 UTC 2015


Hi Everybody,

http://cr.openjdk.java.net/~dsamersoff/JDK-8059036/webrev.09/

Please review updated webrev -

printFinalizationQueue now returns and array of Map.Entry<String, int[]) and all formatting is done on VM side.

-Dmitry

On 2015-05-21 02:07, Mandy Chung wrote:

On May 19, 2015, at 11:51 PM, Dmitry Samersoff <dmitry.samersoff at oracle.com <mailto:dmitry.samersoff at oracle.com>> wrote:

Other alternatives could be to do all hashing/sorting/printing on native layer i.e. implement printFinalizationQueue inside VM. Both options has pros and cons - Java based solution requires less JNI calls and better readable but takes more memory. It might be better to return an array of Map.Entry<String, int[]> objects to VM rather than one huge string. The output and formatting should be done by jcmd. What you really need to get a peek on the finalizer queue and print the histogram. The VM has the heap histogram implementation. Have you considered leveraging that? 5: 1012 40480 java.lang.ref.Finalizer You can find the registered Finalizer instances. The downside is that icmd -finalizerinfo stops the world. I think it’s not unreasonable for this diagnostic command to be expensive like -heap command. Mandy

-- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia



More information about the core-libs-dev mailing list