Request for review (s) 8025635: SoftReferences are not cleared before metaspace OOME are thrown
John Coomes
John.Coomes at oracle.com
Wed Oct 16 21:51:18 UTC 2013
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