Regarding Humongous Allocation - G1GC
Stefan Johansson
stefan.johansson at oracle.com
Wed Aug 28 11:30:13 UTC 2024
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
More information about the hotspot-gc-use
mailing list