Discussion on JDK-8245511: G1 adaptive IHOP does not account for reclamation of humongous objects by young GC

Luo, Ziyi luoziyi at amazon.com
Tue May 26 18:21:22 UTC 2020

Hi Thomas,

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 mailing list