RFR: 8000754: NPG: Implement a MemoryPool MXBean for Metaspace

Erik Helin erik.helin at oracle.com
Thu Mar 21 08:47:23 PDT 2013


Thanks!

Erik

On 03/21/2013 04:43 PM, Jon Masamitsu wrote:
> Erik,
>
> All the changes look good.  I've cleared up
> some of my own confusion about the capacity
> calculations and any lingering performance
> concerns will be dealt with separately.
> Ship it.
>
> Jon
>
> On 02/27/13 09:07, Erik Helin wrote:
>> Jon,
>>
>> On 02/20/2013 05:54 PM, Jon Masamitsu wrote:
>>>
>>> On 2/20/2013 4:42 AM, Stefan Karlsson wrote:
>>>> Hi Erik,
>>>>
>>>> This fix seems reasonable to me.
>>>>
>>>> http://cr.openjdk.java.net/~ehelin/8000754/webrev.01/src/share/vm/services/memoryPool.cpp.udiff.html
>>>>
>>>>
>>>>
>>>> +MemoryUsage MetaspacePoolBase::get_memory_usage() {
>>>> +  size_t used = MetaspaceAux::used_in_bytes(_md_type);
>>>> +  size_t committed = MetaspaceAux::capacity_in_bytes(_md_type);
>>>> +  return MemoryUsage(initial_size(), used, committed, max_size());
>>>> +}
>>>>
>>>> I'm not sure if capacity is the right value to use for committed, so
>>>> you'll need to verify that with Jon.
>>>
>>> In general we only commit memory when we allocate a chunk for that
>>> memory so this is mostly correct.  The exception is that the
>>> allocation of
>>> a chunk smaller than a page can will cause more than the chunk size to
>>> be committed.  I think this is the right value to use modulo a page
>>> size.
>>
>> I have changed the code to:
>>
>> size_t committed =
>> align_size_down_(MetaspaceAux::capacity_in_bytes(_md_type),
>> os::vm_page_size());
>>
>> Is that what you meant?
>>
>> A new webrev can be found at:
>> http://cr.openjdk.java.net/~ehelin/8000754/webrev.02/
>>
>> Thanks,
>> Erik
>>
>>> Jon
>>>>
>>>> thanks,
>>>> StefanK
>>>>
>>>> On 02/20/2013 12:02 PM, 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