RFR (S) JDK-8014912 Restore PrintSharedSpaces after NPG
Coleen Phillimore
coleen.phillimore at oracle.com
Wed May 22 18:47:42 PDT 2013
Ioi,
This looks really good. The only thing is that we have code to create
histograms in the VM (see utilities/histogram.hpp). Couldn't you reuse
this class instead of writing your own histogram creating function? It
would sort your data for you! I don't know if it would have the data
you are looking for but lots of other jvm code uses this class for a
similar purpose.
Thanks,
Coleen
On 5/21/2013 6:29 PM, Ioi Lam wrote:
> Please review:
>
> http://cr.openjdk.java.net/~iklam/8014912/print_sharedspc_001/
>
> Bug: Restore PrintSharedSpaces functionality after NPG
>
> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8014912
> https://jbs.oracle.com/bugs/browse/JDK-8014912
>
> Summary of fix:
>
> I added a new enum, MetaspaceObj::Type, which is passed to
>
> Metaspace::allocate(ClassLoaderData* loader_data, size_t word_size,
> bool read_only, MetaspaceObj::Type type, TRAPS);
>
> During CDS dumping, all allocations are logged in a linked list to
> be processed later by metaspaceShared.cpp to generate statistics for
> objects in the CDS archive. See sample output below.
>
> * No such logging is doneat normal VM execution time so there
> is no performance impact.
>
> * I verified that the patch can be applied cleanly on Jon's
> recentpatch for JDK-8014862 "Add fast Metasapce capacity and
> used per MetadataType"
>
> http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/2b1a9d972fc2
>
> Testing:
>
> JPRT, UTE (vm.quick.testlist)
>
> Sample output:
>
> ro_cnt ro_bytes % | rw_cnt rw_bytes
> % | all_cnt all_bytes %
> --------------------+---------------------------+---------------------------+--------------------------
>
> Unknown : 1 64 0.0 | 1 64 0.0
> | 2 128 0.0
> Class : 0 0 0.0 | 2364 2006080 14.7
> | 2364 2006080 9.2
> Symbol : 49858 2507168 30.9 | 0 0 0.0
> | 49858 2507168 11.5
> TypeArrayU1 : 13264 608336 7.5 | 2365 428784 3.1
> | 15629 1037120 4.8
> TypeArrayU2 : 4796 341952 4.2 | 0 0 0.0
> | 4796 341952 1.6
> TypeArrayU4 : 2371 178528 2.2 | 0 0 0.0
> | 2371 178528 0.8
> TypeArrayU8 : 3708 365920 4.5 | 0 0 0.0
> | 3708 365920 1.7
> TypeArrayOther : 0 0 0.0 | 0 0 0.0
> | 0 0 0.0
> Method : 0 0 0.0 | 32552 3659888 26.8
> | 32552 3659888 16.8
> ConstMethod : 32552 4099008 50.6 | 0 0 0.0
> | 32552 4099008 18.8
> MethodData : 0 0 0.0 | 0 0 0.0
> | 0 0 0.0
> ConstantPool : 0 0 0.0 | 2365 3225600 23.6
> | 2365 3225600 14.8
> ConstantPoolCache : 0 0 0.0 | 2350 2212320 16.2
> | 2350 2212320 10.2
> Annotation : 26 1248 0.0 | 0 0 0.0
> | 26 1248 0.0
> MethodCounters : 0 0 0.0 | 0 0 0.0
> | 0 0 0.0
> SymbolHashentry : 0 0 0.0 | 49858 1595456 11.7
> | 49858 1595456 7.3
> SymbolBuckets : 0 0 0.0 | 20011 320176 2.3
> | 20011 320176 1.5
> Other : 0 0 0.0 | 0 203893 1.5
> | 0 203893 0.9
> --------------------+---------------------------+---------------------------+--------------------------
>
> Total : 106576 8102224 100.0 | 111866 13652261
> 100.0 | 218442 21754485 100.0
>
>
> Thanks,
> Ioi
>
>
More information about the hotspot-dev
mailing list