Heap size slowly grows in jdk11u Shenandoah passive mode

Zhengyu Gu zgu at redhat.com
Fri May 21 21:33:23 UTC 2021


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