Review request: 8024638: Count and expose the amount of committed memory in the metaspaces

Bengt Rutisson bengt.rutisson at oracle.com
Thu Sep 12 01:11:17 PDT 2013


Stefan,

Looks good.

For the record, Stefan and I talked about introducing some verification 
code to check that the reserved and committed sizes that the 
VirtualSpaceList keeps track of is the same as the sum of the 
corresponding values for all nodes. We agreed to add that as a separate 
change.

Thanks,
Bengt

On 9/11/13 11:03 PM, Stefan Karlsson wrote:
> http://cr.openjdk.java.net/~stefank/8024547/webrev.01/
>
> Further testing showed that one of the asserts in 
> actual_committed_size was incorrect when the the middle region of the 
> VirtualSpace was empty and the middle alignment was larger than the 
> other alignments. This can happen when large pages are used and the 
> size of the VirtualSpace is within the range [large_page_size, 2 * 
> large_page_size).
>
> I rewrote the asserts to handle that and similar cases. I also added 
> new unit test cases that provoked this incorrect assert.
>
> Thanks Erik Helin for finding this (and also for helping out with the 
> original patch).
>
> thanks,
> StefanK
>
> On 9/11/13 6:10 PM, Stefan Karlsson wrote:
>> http://cr.openjdk.java.net/~stefank/8024547/webrev.00/
>>
>> This change adds code to track the committed memory in the metaspaces.
>>
>> This fix is a prerequisite for:
>>   8024547: MaxMetaspaceSize should limit the committed memory used by 
>> the metaspaces
>>
>> The patch is built upon this change, which is also out for review:
>> http://mail.openjdk.java.net/pipermail/hotspot-dev/2013-September/010766.html 
>>
>>
>> Changes in the patch:
>>
>> - Renamed VirtualSpaceList::_virtual_space_total to 
>> VirtualSpaceList::_reserved_words.
>>
>> - Introduced a VirtualSpaceList::_committed_words.
>>
>> - Added a new function VirtualSpace::actual_committed_size(), which 
>> reports the memory committed by the OS. The per-existing function 
>> VirtualSpace::committed_size() only reports the amount of memory 
>> asked for by calls to VirtualSpace::expand_by, which can be 
>> significantly less because of OS allocation granularities and large 
>> pages.
>>
>> - Added code to tracks when the VirtualSpaces in the 
>> VirtualSpaceNodes are created, deleted, and expanded.
>>
>> - Added unit tests.
>>
>> thanks,
>> StefanK
>



More information about the hotspot-dev mailing list