Regarding Humongous Allocation - G1GC

Ravi mailravi at gmail.com
Wed Aug 28 14:57:25 UTC 2024


Thanks Stefan.

On Wed, Aug 28, 2024 at 5:00 PM Stefan Johansson <
stefan.johansson at oracle.com> wrote:

> Hi Ravi,
>
> I'm not sure we actually have humongous allocation failures here. In G1,
> when doing a humongous allocation, there is a check if we should start a
> concurrent marking cycle before doing the humongous allocations. We will
> do the "G1 Humongous Allocation" gc if the G1 policy consider the memory
> usage to be too high. So when having a lot of humongous allocations is
> not uncommon to see these types of collections.
>
> The G1New JFR events corresponds to the young collection that kicks off
> the concurrent marking. The concurrent marking then sends the G1Old
> event. The reason they have the same start time is that the concurrent
> marking is viewed as being started by the young collections.
>
> The humongous allocations do happen in the old generation from the point
> of view that they aren't included in the normal young collections but in
> JDK 8 they are actually never moved by any collection.
>
> Hope this helps,
> StefanJ
>
>
> On 2024-08-28 09:50, Ravi wrote:
> > if we look at the timestamps, both of them are happening at the same
> time.
> >
> > On Wed, Aug 28, 2024 at 12:27 PM Kim Barrett <kim.barrett at oracle.com
> > <mailto:kim.barrett at oracle.com>> wrote:
> >
> >     __
> >
> >     On 8/27/24 5:04 AM, Ravi wrote:
> >
> >>     Dear Experts,
> >>
> >>     We have an application running on jre 1.8u261 with the below jvm
> >>     arguments:
> >>      -Xms8g -Xmx8g -XX:MetaspaceSize=2g -XX:MaxMetaspaceSize=2g
> >>     -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:ConcGCThreads=1
> >>     -XX:+PrintFlagsFinal
> >>
> >>     From the jfrs, we could see Humongous allocation failures are
> >>     happening in the G1New and aswell G1Old spaces:
> >
> >     I think humongous allocation failure will first attempt a young
> >     collection.
> >     This may free regions, potentially resulting in a sequence of free
> >     regions
> >     sufficient to satisfy the humongous allocation request. Only if that
> >     fails is
> >     a full collection performed.  That seems to be what your trace
> >     shows, e.g. a
> >     fill (G1Old) collection occurring shortly after the young (G1New)
> >     collection
> >     in each case.
> >
> >
> > _______________________________________________
> > hotspot-gc-use mailing list
> > hotspot-gc-use at openjdk.org
> > https://mail.openjdk.org/mailman/listinfo/hotspot-gc-use
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-use/attachments/20240828/eb73d99a/attachment.htm>


More information about the hotspot-gc-use mailing list