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