RFR: 8000754: NPG: Implement a MemoryPool MXBean for Metaspace
Erik Helin
erik.helin at oracle.com
Thu Feb 21 15:57:03 UTC 2013
Jon,
thanks for the review!
On 02/21/2013 05:22 AM, Jon Masamitsu wrote:
> Erik,
>
> These changes look good.
Thanks!
On 02/21/2013 05:22 AM, Jon Masamitsu wrote:
> used_in_bytes() and capacity_in_bytes() do run
> over the classloader data graph and as such
> are not free to call. I generally think to use them
> in assertion checking or where I don't expect
> them to be executed much. Here I expect they
> are executed in response to some type of
> intermittent query. If you think they will be
> executed continuously, we should talk about
> the alternatives.
Thanks, I didn't know that used_in_bytes() and capacity_in_bytes() were
expensive. I looked at the consumers of the
MetaspacePoolBase::get_memory_usage()
and it is executed due to a couple of reasons:
- From Java:
- MemoryMXBean.getHeapMemoryUsage()
- MemoryMXBean.getNonHeapMemoryUsage()
- MemoryPoolMXBean.getUsage()
- From the VM:
- At the start and end of GC to provide different *MXBeans with the
memory usage before and after a GC.
- Bookkeeping to support the *MXBeans with low memory detection as
well as peak memory usage.
Do you think that they methods are too expensive for this kind of usage?
Thanks,
Erik
> Jon
>
>
>
> On 2/20/2013 3:02 AM, Erik Helin wrote:
>> Hi,
>>
>> this change implements a new MemoryManagerMXBean, MetaspaceManager, as
>> well as two new MemoryPoolMXBeans: Metaspace and Class Metaspace. I have
>> also written a tests that tests the new beans.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~ehelin/8000754/webrev.01/
>>
>> Bug:
>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000754
>>
>> Testing:
>> JPRT
>> New jtreg test
>>
>> Thanks,
>> Erik
>
More information about the hotspot-gc-dev
mailing list