RFR: 8036703: Add trace event with statistics for the metaspace chunk free lists
Stefan Karlsson
stefan.karlsson at oracle.com
Thu Mar 6 10:02:25 UTC 2014
On 2014-03-06 10:35, Erik Helin wrote:
> Hi all,
>
> this patch adds a new trace event -
> vm/gc/metaspace/chunk_free_list_summary for getting statistics for
> metaspace's chunk free lists. The event contains the numbers of chunks
> in the free list and the size of the chunks in the free lists. This
> information is provided for all different kinds of chunks - special,
> small, medium and humongous.
>
> This information will be useful when diagnosing fragmentation issues
> in metaspace.
>
> Webrev:
> http://cr.openjdk.java.net/~ehelin/8036703/webrev.00/
http://cr.openjdk.java.net/~ehelin/8036703/webrev.00/src/share/vm/gc_interface/collectedHeap.cpp.udiff.html
This isn't used:
+ MetaspaceChunkFreeListSummary chunk_free_list_summary;
http://cr.openjdk.java.net/~ehelin/8036703/webrev.00/src/share/vm/memory/metaspace.cpp.udiff.html
+ void index_bounds_check(ChunkIndex index) const {
Should be static. Or maybe a #define if you want to get the line where
the assert happens.
err_msg("Bad index: " INT32_FORMAT, (int) index));
Should be %d instead of INT32_FORMAT.
2682 return MetaspaceChunkFreeListSummary(cm->num_free_chunks(SpecializedIndex),
2683 cm->num_free_chunks(SmallIndex),
2684 cm->num_free_chunks(MediumIndex),
2685 cm->num_free_chunks(HumongousIndex),
2686 cm->size_free_chunks_in_bytes(SpecializedIndex),
2687 cm->size_free_chunks_in_bytes(SmallIndex),
2688 cm->size_free_chunks_in_bytes(MediumIndex),
2689 cm->size_free_chunks_in_bytes(HumongousIndex));
I think it's better to keep the setup of MetaspaceChunkFreeListSummary
in ChunkManager.
Otherwise, this looks good.
thanks,
StefanK
>
> Enhancement:
> https://bugs.openjdk.java.net/browse/JDK-8036703
>
> Testing:
> - JFR JTREG tests
> - JPRT
> - Manually verifying that the numbers look correct by looking at
> recordings from small test cases.
>
> Thanks,
> Erik
More information about the hotspot-dev
mailing list