Re: Heap size slowly grows in jdk11u Shenandoah passive mode

Yude Lin yude.lyd at alibaba-inc.com
Fri May 21 04:42:10 UTC 2021


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