G1 GC Humongous Objects - Garbage collection

Thomas Schatzl thomas.schatzl at oracle.com
Tue Oct 25 09:24:20 UTC 2016


Hi,

On Tue, 2016-10-25 at 08:41 +0000, Gopal, Prasanna CWK wrote:
> Hi All
>  
> I have the following question about Garbage collection of  Humongous
> objects.
>  
> 1)     When will the humongous objects will get reclaimed ?
> 2)     Is there is any behaviour difference between Jdk 7 and Jdk 8
> run time ?
> 3)     I understand, in pre-jdk 8 G1 GC , the humongous objects gets
> collected only through Full GC. In my application , I couldn’t see
> Full GC happening for long time (running on jdk_7u40_x64) , does this
> means the humongous objects stay in memory , till we have a full GC ?

G1 can reclaim humongous objects...

* at the end of marking in the GC Cleanup pause.

* during full gc.

* JDK8u60+ can also reclaim particular types of humongous objects
(arrays that do _not_ consist of references to objects) at every young
GC. See the release notes for 8u60 at http://www.oracle.com/technetwork
/java/javase/8u60-relnotes-2620227.html under "New Features and
Changes" for how to control this.
(It works for any array of primitive type, not limited to the examples
given there - just in case you wonder).

Thanks,
  Thomas



More information about the hotspot-gc-use mailing list