Discussion on JDK-8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC
luoziyi at amazon.com
Tue May 26 18:21:22 UTC 2020
Thank you for looking into JDK-8245511. I open this thread to discuss the
questions you raised in comments (I’m not an author yet :)).
> If you compare latest jdk15 behavior which does not show this problem here
at all like with earlier jdks (you tagged 15 as affected, but I can't
reproduce with latest. Might be a local fluke though).
You are right about the test result. The probem is not reproducible in
jdk-15-ea+24. I look deep into the gc log, I found some anomalies with the
humongous regions e.g.,
% cat gc-vanilla-15-30353-2020-05-26_17-03-39.log | grep "Humongous regions"
[3.256s][info ][gc,heap ] GC(0) Humongous regions: 228->0
[10.209s][info ][gc,heap ] GC(2) Humongous regions: 78->0
[20.034s][info ][gc,heap ] GC(5) Humongous regions: 0->0
[20.914s][info ][gc,heap ] GC(7) Humongous regions: 0->0
<No humongous allocations at all according to the gc heap stats>
I suspect this is because the humongous object size is set the same as the
region size in the repro program and somehow jdk15 treats such objects as not
humongous (Correct if I were wrong). I adjusted the humongous object size 1.5
times of the region size. Now the problem is reproducible in jdk15. I'll
update the repro program in JBS.
More information about the hotspot-gc-dev