Heap size slowly grows in jdk11u Shenandoah passive mode
Zhengyu Gu
zgu at redhat.com
Mon May 24 12:47:02 UTC 2021
Hi Yude,
Here is the fix: http://cr.openjdk.java.net/~zgu/JDK-8267561/webrev.00/
Could you verify it?
Thanks,
-Zhengyu
On 5/21/21 5:33 PM, Zhengyu Gu wrote:
> Hi Yude,
>
> Thanks for reporting and confirming. I found the root cause [1], it only
> affect 11u, as 16u and 17 we switched to concurrent reference processing.
>
>
> -Zhengyu
>
>
> [1] https://bugs.openjdk.java.net/browse/JDK-8267561
>
>
> On 5/21/21 12:42 AM, Yude Lin wrote:
>> Hi Zhengyu,
>>
>> I tried -XX:ShenandoahUnloadClassesFrequency=1 but I still get the
>> same symptom.
>> I checked the log and it has "Unload Classes" every cycle, so
>> unloading is on. Any ideas?
>> Thanks!
>>
>> Yude
>>
>> ------------------------------------------------------------------
>> From:Zhengyu Gu <zgu at redhat.com>
>> Send Time:2021年5月20日(星期四) 23:30
>> To:林育德(御德) <yude.lyd at alibaba-inc.com>; shenandoah-dev
>> <shenandoah-dev at openjdk.java.net>
>> Subject:Re: Heap size slowly grows in jdk11u Shenandoah passive mode
>>
>> Hi,
>>
>> This may be due to class unloading. Shenandoah/jdk11u, by default,
>> unloads classes every 100 cycles, while jdk16/17 unloads classes
>> (concurrently) every cycle.
>>
>> You may want to try: -XX:ShenandoahUnloadClassesFrequency=1
>>
>> -Zhengyu
>>
>> On 5/20/21 1:17 AM, 林育德(御德) wrote:
>> >
>> >
>> > Hi,
>> >
>>
>> > I was running jdk11u Shenandoah on specjvm2008, and found the passive mode has a leak-like behaviour:
>>
>> >
>>
>> > $java -Xmx24g -Xms24g -XX:ParallelGCThreads=1 -XX:+UseShenandoahGC -XX:+UnlockDiagnosticVMOptions -XX:ShenandoahGCMode=passive -Xlog:gc*=debug:file=512sp.log -jar SPECjvm2008.jar -ict -coe -i 1 derby
>>
>> >
>> > $grep 'Pause .*ms' 512sp.log
>>
>> > [63.407s][info ][gc ] GC(0) Pause Degenerated GC (Outside of Cycle) 23344M->15824M(24576M) 6994.533ms
>>
>>
>> > [71.029s][info ][gc ] GC(1) Pause Degenerated GC (Outside of Cycle) 23343M->15520M(24576M) 7325.687ms
>>
>>
>> > [80.319s][info ][gc ] GC(2) Pause Degenerated GC (Outside of Cycle) 23343M->11720M(24576M) 8721.156ms
>>
>>
>> > [88.396s][info ][gc ] GC(3) Pause Degenerated GC (Outside of Cycle) 23343M->4176M(24576M) 7549.126ms
>>
>>
>> > [94.300s][info ][gc ] GC(4) Pause Degenerated GC (Outside of Cycle) 23343M->4192M(24576M) 5216.467ms
>>
>>
>> > [99.941s][info ][gc ] GC(5) Pause Degenerated GC (Outside of Cycle) 23343M->4200M(24576M) 4984.741ms
>>
>>
>> > [105.506s][info ][gc ] GC(6) Pause Degenerated GC (Outside of Cycle) 23343M->4208M(24576M) 4901.316ms
>>
>>
>> > [111.339s][info ][gc ] GC(7) Pause Degenerated GC (Outside of Cycle) 23343M->4216M(24576M) 5175.875ms
>>
>>
>> > [117.154s][info ][gc ] GC(8) Pause Degenerated GC (Outside of Cycle) 23343M->4224M(24576M) 5134.298ms
>>
>>
>> > [123.078s][info ][gc ] GC(9) Pause Degenerated GC (Outside of Cycle) 23343M->4232M(24576M) 5255.877ms
>>
>>
>> > [129.249s][info ][gc ] GC(10) Pause Degenerated GC (Outside of Cycle) 23343M->4232M(24576M) 5505.492ms
>>
>>
>> > [135.258s][info ][gc ] GC(11) Pause Degenerated GC (Outside of Cycle) 23343M->4240M(24576M) 5355.191ms
>>
>>
>> > [141.378s][info ][gc ] GC(12) Pause Degenerated GC (Outside of Cycle) 23343M->4248M(24576M) 5487.325ms
>>
>>
>> > [147.217s][info ][gc ] GC(13) Pause Degenerated GC (Outside of Cycle) 23343M->4256M(24576M) 5214.325ms
>>
>>
>> > [152.963s][info ][gc ] GC(14) Pause Degenerated GC (Outside of Cycle) 23343M->4264M(24576M) 5083.129ms
>>
>>
>> > [158.798s][info ][gc ] GC(15) Pause Degenerated GC (Outside of Cycle) 23343M->4272M(24576M) 5162.959ms
>>
>>
>> > [164.950s][info ][gc ] GC(16) Pause Degenerated GC (Outside of Cycle) 23343M->4280M(24576M) 5475.542ms
>>
>>
>> > [170.856s][info ][gc ] GC(17) Pause Degenerated GC (Outside of Cycle) 23343M->4288M(24576M) 5222.228ms
>>
>>
>> > [177.007s][info ][gc ] GC(18) Pause Degenerated GC (Outside of Cycle) 23343M->4304M(24576M) 5300.388ms
>>
>>
>> > [182.809s][info ][gc ] GC(19) Pause Degenerated GC (Outside of Cycle) 23343M->4312M(24576M) 4833.105ms
>>
>>
>> > [189.589s][info ][gc ] GC(20) Pause Degenerated GC (Outside of Cycle) 23344M->4312M(24576M) 5441.911ms
>>
>>
>> > [195.528s][info ][gc ] GC(21) Pause Degenerated GC (Outside of Cycle) 23343M->4320M(24576M) 5262.478ms
>>
>>
>> > [201.654s][info ][gc ] GC(22) Pause Degenerated GC (Outside of Cycle) 23343M->4328M(24576M) 5491.649ms
>>
>>
>> > [208.601s][info ][gc ] GC(23) Pause Degenerated GC (Outside of Cycle) 23343M->4336M(24576M) 6293.675ms
>>
>>
>> > [214.483s][info ][gc ] GC(24) Pause Degenerated GC (Outside of Cycle) 23343M->4344M(24576M) 5259.813ms
>>
>>
>> > [220.657s][info ][gc ] GC(25) Pause Degenerated GC (Outside of Cycle) 23343M->4352M(24576M) 5533.361ms
>>
>>
>> > [227.005s][info ][gc ] GC(26) Pause Degenerated GC (Outside of Cycle) 23343M->4352M(24576M) 5712.247ms
>>
>>
>> > [233.210s][info ][gc ] GC(27) Pause Degenerated GC (Outside of Cycle) 23343M->4368M(24576M) 5580.975ms
>>
>>
>> > [239.202s][info ][gc ] GC(28) Pause Degenerated GC (Outside of Cycle) 23343M->4368M(24576M) 5379.766ms
>>
>>
>> > [245.565s][info ][gc ] GC(29) Pause Degenerated GC (Outside of Cycle) 23343M->4376M(24576M) 5714.096ms
>>
>>
>> > [251.450s][info ][gc ] GC(30) Pause Degenerated GC (Outside of Cycle) 23343M->4384M(24576M) 5250.005ms
>>
>>
>> > [257.447s][info ][gc ] GC(31) Pause Degenerated GC (Outside of Cycle) 23343M->4392M(24576M) 5354.806ms
>>
>>
>> > [263.840s][info ][gc ] GC(32) Pause Degenerated GC (Outside of Cycle) 23343M->4400M(24576M) 5716.993ms
>>
>>
>> > [270.792s][info ][gc ] GC(33) Pause Degenerated GC (Outside of Cycle) 23343M->4408M(24576M) 6264.228ms
>>
>>
>> > [277.201s][info ][gc ] GC(34) Pause Degenerated GC (Outside of Cycle) 23343M->4408M(24576M) 5743.778ms
>>
>>
>> > [283.828s][info ][gc ] GC(35) Pause Degenerated GC (Outside of Cycle) 23343M->4416M(24576M) 5973.385ms
>>
>>
>> > [291.227s][info ][gc ] GC(36) Pause Degenerated GC (Outside of Cycle) 23343M->4424M(24576M) 6587.729ms
>>
>>
>> > [298.153s][info ][gc ] GC(37) Pause Degenerated GC (Outside of Cycle) 23343M->4432M(24576M) 6122.285ms
>>
>>
>> > [304.722s][info ][gc ] GC(38) Pause Degenerated GC (Outside of Cycle) 23343M->4440M(24576M) 5938.363ms
>>
>>
>> > [311.097s][info ][gc ] GC(39) Pause Degenerated GC (Outside of Cycle) 23343M->4448M(24576M) 5737.377ms
>>
>>
>> > [317.710s][info ][gc ] GC(40) Pause Degenerated GC (Outside of Cycle) 23343M->4448M(24576M) 5994.975ms
>>
>>
>> > [323.969s][info ][gc ] GC(41) Pause Degenerated GC (Outside of Cycle) 23343M->4456M(24576M) 5624.046ms
>>
>>
>> > [330.910s][info ][gc ] GC(42) Pause Degenerated GC (Outside of Cycle) 23343M->4464M(24576M) 6298.006ms
>>
>>
>> > [337.761s][info ][gc ] GC(43) Pause Degenerated GC (Outside of Cycle) 23343M->4472M(24576M) 6248.352ms
>>
>>
>> > [344.369s][info ][gc ] GC(44) Pause Degenerated GC (Outside of Cycle) 23343M->4480M(24576M) 5947.428ms
>>
>>
>> > [351.096s][info ][gc ] GC(45) Pause Degenerated GC (Outside of Cycle) 23343M->4488M(24576M) 6094.857ms
>>
>>
>> > [357.776s][info ][gc ] GC(46) Pause Degenerated GC (Outside of Cycle) 23343M->4496M(24576M) 6048.758ms
>>
>>
>> > [364.830s][info ][gc ] GC(47) Pause Degenerated GC (Outside of Cycle) 23343M->4504M(24576M) 6418.273ms
>>
>>
>> > [370.804s][info ][gc ] GC(48) Pause Degenerated GC (Outside of Cycle) 23343M->4512M(24576M) 5348.577ms
>>
>>
>> > [376.787s][info ][gc ] GC(49) Pause Degenerated GC (Outside of Cycle) 23344M->4520M(24576M) 5339.928ms
>>
>>
>> > [383.407s][info ][gc ] GC(50) Pause Degenerated GC (Outside of Cycle) 23343M->4528M(24576M) 5942.465ms
>>
>>
>> > [389.858s][info ][gc ] GC(51) Pause Degenerated GC (Outside of Cycle) 23343M->4536M(24576M) 5801.355ms
>>
>>
>> > [396.714s][info ][gc ] GC(52) Pause Degenerated GC (Outside of Cycle) 23343M->4544M(24576M) 6190.560ms
>>
>>
>> > [403.752s][info ][gc ] GC(53) Pause Degenerated GC (Outside of Cycle) 23343M->4560M(24576M) 6226.817ms
>>
>>
>> > [410.816s][info ][gc ] GC(54) Pause Degenerated GC (Outside of Cycle) 23343M->4560M(24576M) 6400.091ms
>>
>>
>> > [417.651s][info ][gc ] GC(55) Pause Degenerated GC (Outside of Cycle) 23343M->4568M(24576M) 6206.848ms
>>
>>
>> > [424.040s][info ][gc ] GC(56) Pause Degenerated GC (Outside of Cycle) 23343M->4576M(24576M) 5774.497ms
>>
>>
>> > [431.115s][info ][gc ] GC(57) Pause Degenerated GC (Outside of Cycle) 23343M->4584M(24576M) 6433.645ms
>>
>>
>> > [437.740s][info ][gc ] GC(58) Pause Degenerated GC (Outside of Cycle) 23343M->4592M(24576M) 5980.660ms
>>
>> >
>> >
>> >
>>
>> > The heap seems to grow slowly, and the pause time tends to grow too.
>>
>> > The jdk16 or 17 version appears okay (with constant after-gc heap size).
>>
>> >
>> > I wonder if there is a known reason?
>> >
>> > Thanks!
>> >
>> > Yude Lin
>> >
More information about the shenandoah-dev
mailing list