Request for review (s) 8025635: SoftReferences are not cleared before metaspace OOME are thrown
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Oct 16 22:07:52 UTC 2013
Thanks.
Jon
On 10/16/13 2:51 PM, John Coomes wrote:
> Jon Masamitsu (jon.masamitsu at oracle.com) wrote:
>> I've fixed the CMS case and updated the webrev.
>>
>> http://cr.openjdk.java.net/~jmasa/8025635/webrev.01/
>>
>> With the fix an unneeded call to expand_and_allocate() may be
>> made for CMS. I chose to keep the code simpler rather
>> than to treat that CMS case.
> Looks good to me.
>
> -John
>
>> While working on this change I decided that a CMS concurrent
>> cycle could be started inappropriately (after a STW full GC or
>> after a foreground CMS collection) and have filed
>>
>> 8026752: Cancel MetaspaceGC request for a concurrent collection after GC
>>
>> See that CR for comments on the CMS behavior regarding collections for
>> Metaspace allocations.
>>
>> Jon
>>
>>
>> On 10/3/13 3:44 PM, Jon Masamitsu wrote:
>>> 8025635: SoftReferences are not cleared before metaspace OOME are thrown
>>>
>>> If native memory has been exhausted or MaxMetaspaceSize has been set and
>>> has been reached, a GC will be done to try and unload classes and free
>>> metadata
>>> space. If not enough metadata space has been freed, another GC which
>>> clears
>>> SoftReferences will be done.
>>>
>>> Note that GC's are normally done to unload classes and free metadata
>>> space.
>>> If not enough metadata space is freed by the GC, additional
>>> space is allocated and used for the metadata allocation. It is only in
>>> the situation where no additional native memory can be allocated for
>>> metadata that SoftReferences are cleared.
>>>
>>> http://cr.openjdk.java.net/~jmasa/8025635/webrev.00/
More information about the hotspot-gc-dev
mailing list