In my gc log, there are many objects are allocated to old generations (ALLOC(Old) logs), current threshold is 15, my objects age is only 1, i.e, these objects will not be promoted to old generations, i guess is there any condition when objects will be allocated to old generations directly in G1 GC? Thanks in advance!
Excerpt of GC log:
grep "ALLOC(Old)" gc.log | wc -l
387
grep "thres" gc.log
Desired survivor size 1207959552 bytes, new threshold 15 (max 15)
Desired survivor size 1207959552 bytes, new threshold 15 (max 15)
- age 1: 37707272 bytes, 37707272 total
JDK version:
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
*********Update on 2020/01/31****************
It is not humongous objects,gc log will show humongous object allocation in another way, pls kindly refer to following gc log excerpt, thx!
>> grep "StartsH" gc.log | wc -l
51
>> grep "ContinuesH" gc.log | wc -l
324
>> grep "ALLOC(Old)" gc.log | wc -l
528
Reference: https://www.redhat.com/en/blog/collecting-and-reading-g1-garbage-collector-logs-part-2