MinHeapFreeRatio / MaxHeapFreeRatio

Jon Masamitsu jon.masamitsu at oracle.com
Thu May 10 10:40:58 PDT 2012


Damon,

It's been years since I looked but the Serial collector used to
return space to the OS.  At least on Solaris.  I've heard complaints
that it doesn't work on windows.  I've watched the Serial collector
work with jvisualvm and the heap size shrinks but I couldn't tell
if the space got returned.  I also saw that ParallelGC does
not shrink back the heap the way I thought it should.  I think
there may be a bug in PSVirtualspace.

Jon

On 5/10/2012 10:00 AM, Damon Hart-Davis wrote:
> Hi,
>
> FWIW, I don't recall (though I'm not totally sure) the JVM ever giving memory back to the OS even when I tried (for other reasons) the serial collector in SE 6 Embedded.
>
> Rgds
>
> Damon
>
>
> On 10 May 2012, at 17:41, Krystal Mok wrote:
>
>> Hi Jon,
>>
>> No, CMS doesn't do shrinking at all. The interface is there in the generational GC framework, but the implementation in CMS is left empty. I tried to implement shrinking in CMS once, but I ran out of time completing it, and found out that the original demand from our internal customer was supposed to be using ParallelGC, so I gave up.
>>
>> Resizing generations to meet MinHeapFreeRatio / MaxHeapFreeRatio means shrinking has to be implemented in CMS, right?
>>
>> - Kris
>>
>> On Fri, May 11, 2012 at 12:31 AM, Jon Masamitsu<jon.masamitsu at oracle.com>  wrote:
>> Damon,
>>
>>   From inspection of the code I think that CMS does not do a
>> resizing of the heap after it does a System.gc().  That resizing
>> would be the code that adjusts the generations for
>> MinHeapFreeRatio / MaxHeapFreeRatio and returns
>> memory to the OS.
>>
>> I've created CR 7167923 to investigate this bug.
>>
>> Jon
>>
>> On 5/9/2012 2:34 AM, Damon Hart-Davis wrote:
>>> Hi,
>>>
>>> No, because when I explicitly call System.gc() I want it to try as hard as it can, even to the point of stopping the world...
>>>
>>> Rgds
>>>
>>> Damon
>>>
>>>
>>> On 9 May 2012, at 10:27, Jon Masamitsu wrote:
>>>
>>>> Damon,
>>>>
>>>> Do you turn on ExplicitGCInvokesConcurrent?
>>>>
>>>> Jon
>>>>
>> _______________________________________________
>> hotspot-gc-use mailing list
>> hotspot-gc-use at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use
>>
>> _______________________________________________
>> hotspot-gc-use mailing list
>> hotspot-gc-use at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use


More information about the hotspot-gc-use mailing list