RFR(M,v9): JDK-8059036 : Implement Diagnostic Commands for heap and finalizerinfo
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
* I would love to change the world, but they won't give me the sources.
More information about the serviceability-dev
mailing list