Request for review (s) 8025635: SoftReferences are not cleared before metaspace OOME are thrown
Jon Masamitsu
jon.masamitsu at oracle.com
Wed Oct 16 20:56:41 UTC 2013
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.
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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20131016/84a8e110/attachment.htm>
More information about the hotspot-gc-dev
mailing list