RFR: 8267311: vmTestbase/gc/gctests/StringInternGC/StringInternGC.java eventually OOMEs [v2]
Jie Fu
jiefu at openjdk.java.net
Fri May 21 14:11:56 UTC 2021
On Fri, 21 May 2021 09:36:34 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> Jie Fu has updated the pull request incrementally with one additional commit since the last revision:
>>
>> vmTestbase/gc/gctests/StringInternGC/StringInternGC.java eventually OOMEs
>
> test/hotspot/jtreg/vmTestbase/gc/gctests/StringInternGC/StringInternGC.java line 62:
>
>> 60: for (int i = 0; i < length; ++i)
>> 61: sb.append((char) LocalRandom.nextInt(Integer.MAX_VALUE));
>> 62: return sb.toString();
>
> I was expecting that the code would regularly (every few seconds) cause a full gc to clean up strings from the string table (afaik all these tests run for a fixed length, do not know how long; please look yourselves and determine a "good" interval, like 5 seconds or so). Either via `System.gc()` or whitebox methods.
> Particularly `System.gc()` in conjunction with `-XX:+ExplicitGCInvokesConcurrent` causes concurrent gc's if needed, at least on the default collector (G1) so that *some* string table unloading activity also occurs.
> I was expecting that the code would regularly (every few seconds) cause a full gc to clean up strings from the string table (afaik all these tests run for a fixed length, do not know how long; please look yourselves and determine a "good" interval, like 5 seconds or so). Either via `System.gc()` or whitebox methods.
> Particularly `System.gc()` in conjunction with `-XX:+ExplicitGCInvokesConcurrent` causes concurrent gc's if needed, at least on the default collector (G1) so that _some_ string table unloading activity also occurs.
Hi @tschatzl
Regular full gc is called every 5s.
Effect:
[114.693s][info][gc] GC(918) Pause Young (Normal) (G1 Evacuation Pause) 7230M->209M(11856M) 5.083ms
[114.844s][info][gc] GC(919) Pause Young (Normal) (G1 Evacuation Pause) 7233M->212M(11856M) 4.940ms
[114.994s][info][gc] GC(920) Pause Young (Normal) (G1 Evacuation Pause) 7236M->206M(11856M) 4.549ms
[115.069s][info][gc] GC(921) Pause Young (Concurrent Start) (System.gc()) 3598M->213M(11856M) 5.201ms
[115.069s][info][gc] GC(922) Concurrent Mark Cycle
[115.078s][info][gc] GC(922) Pause Remark 467M->390M(1392M) 1.933ms
[115.083s][info][gc] GC(922) Pause Cleanup 468M->468M(1392M) 0.188ms
[115.084s][info][gc] GC(922) Concurrent Mark Cycle 14.693ms
[115.109s][info][gc] GC(923) Pause Young (Normal) (G1 Evacuation Pause) 1368M->132M(1472M) 4.222ms
[115.132s][info][gc] GC(924) Pause Young (Normal) (G1 Evacuation Pause) 932M->131M(1472M) 4.357ms
[115.155s][info][gc] GC(925) Pause Young (Normal) (G1 Evacuation Pause) 963M->140M(1472M) 3.727ms
[115.184s][info][gc] GC(926) Pause Young (Normal) (G1 Evacuation Pause) 956M->150M(3024M) 10.230ms
[115.228s][info][gc] GC(927) Pause Young (Normal) (G1 Evacuation Pause) 1894M->150M(3024M) 4.105ms
[115.271s][info][gc] GC(928) Pause Young (Normal) (G1 Evacuation Pause) 1894M->190M(3024M) 5.669ms
[115.314s][info][gc] GC(929) Pause Young (Normal) (G1 Evacuation Pause) 1886M->205M(3024M) 6.234ms
[115.387s][info][gc] GC(930) Pause Young (Normal) (G1 Evacuation Pause) 1885M->187M(6960M) 26.940ms
[115.484s][info][gc] GC(931) Pause Young (Normal) (G1 Evacuation Pause) 4251M->191M(6960M) 5.543ms
[115.572s][info][gc] GC(932) Pause Young (Normal) (G1 Evacuation Pause) 4255M->191M(6960M) 6.076ms
[115.675s][info][gc] GC(933) Pause Young (Normal) (G1 Evacuation Pause) 4255M->191M(6960M) 5.629ms
[115.788s][info][gc] GC(934) Pause Young (Normal) (G1 Evacuation Pause) 4255M->188M(11712M) 19.146ms
[115.953s][info][gc] GC(935) Pause Young (Normal) (G1 Evacuation Pause) 7100M->215M(11712M) 7.188ms
[116.104s][info][gc] GC(936) Pause Young (Normal) (G1 Evacuation Pause) 7111M->216M(11712M) 7.313ms
[116.253s][info][gc] GC(937) Pause Young (Normal) (G1 Evacuation Pause) 7112M->215M(11712M) 7.348ms
[116.403s][info][gc] GC(938) Pause Young (Normal) (G1 Evacuation Pause) 7111M->218M(11712M) 7.442ms
[116.553s][info][gc] GC(939) Pause Young (Normal) (G1 Evacuation Pause) 7114M->217M(11712M) 6.877ms
[116.702s][info][gc] GC(940) Pause Young (Normal) (G1 Evacuation Pause) 7113M->214M(11712M) 7.078ms
[116.852s][info][gc] GC(941) Pause Young (Normal) (G1 Evacuation Pause) 7126M->216M(11712M) 6.654ms
[117.002s][info][gc] GC(942) Pause Young (Normal) (G1 Evacuation Pause) 7128M->217M(11712M) 6.091ms
[117.152s][info][gc] GC(943) Pause Young (Normal) (G1 Evacuation Pause) 7145M->217M(11712M) 5.730ms
[117.302s][info][gc] GC(944) Pause Young (Normal) (G1 Evacuation Pause) 7161M->217M(11712M) 5.368ms
[117.451s][info][gc] GC(945) Pause Young (Normal) (G1 Evacuation Pause) 7161M->221M(11712M) 5.360ms
[117.602s][info][gc] GC(946) Pause Young (Normal) (G1 Evacuation Pause) 7165M->217M(11712M) 5.112ms
[117.749s][info][gc] GC(947) Pause Young (Normal) (G1 Evacuation Pause) 7161M->212M(11712M) 4.713ms
[117.898s][info][gc] GC(948) Pause Young (Normal) (G1 Evacuation Pause) 7172M->220M(11712M) 5.219ms
[118.046s][info][gc] GC(949) Pause Young (Normal) (G1 Evacuation Pause) 7164M->218M(11712M) 4.741ms
[118.194s][info][gc] GC(950) Pause Young (Normal) (G1 Evacuation Pause) 7162M->214M(11712M) 5.167ms
[118.344s][info][gc] GC(951) Pause Young (Normal) (G1 Evacuation Pause) 7158M->219M(11712M) 4.875ms
[118.492s][info][gc] GC(952) Pause Young (Normal) (G1 Evacuation Pause) 7163M->218M(11712M) 5.270ms
[118.644s][info][gc] GC(953) Pause Young (Normal) (G1 Evacuation Pause) 7162M->211M(11712M) 4.709ms
[118.793s][info][gc] GC(954) Pause Young (Normal) (G1 Evacuation Pause) 7171M->215M(11712M) 4.927ms
[118.945s][info][gc] GC(955) Pause Young (Normal) (G1 Evacuation Pause) 7159M->214M(11712M) 4.814ms
[119.093s][info][gc] GC(956) Pause Young (Normal) (G1 Evacuation Pause) 7158M->215M(11712M) 5.013ms
[119.245s][info][gc] GC(957) Pause Young (Normal) (G1 Evacuation Pause) 7159M->215M(11712M) 4.822ms
[119.396s][info][gc] GC(958) Pause Young (Normal) (G1 Evacuation Pause) 7159M->218M(11712M) 5.105ms
[119.544s][info][gc] GC(959) Pause Young (Normal) (G1 Evacuation Pause) 7162M->218M(11712M) 4.978ms
[119.695s][info][gc] GC(960) Pause Young (Normal) (G1 Evacuation Pause) 7162M->217M(11712M) 4.864ms
[119.844s][info][gc] GC(961) Pause Young (Normal) (G1 Evacuation Pause) 7161M->213M(11712M) 4.826ms
[119.993s][info][gc] GC(962) Pause Young (Normal) (G1 Evacuation Pause) 7157M->217M(11712M) 5.030ms
[120.072s][info][gc] GC(963) Pause Young (Concurrent Start) (System.gc()) 3689M->218M(11712M) 4.888ms
[120.072s][info][gc] GC(964) Concurrent Mark Cycle
[120.081s][info][gc] GC(964) Pause Remark 449M->364M(1344M) 1.823ms
[120.087s][info][gc] GC(964) Pause Cleanup 529M->529M(1344M) 0.201ms
[120.089s][info][gc] GC(964) Concurrent Mark Cycle 16.833ms
[120.109s][info][gc] GC(965) Pause Young (Normal) (G1 Evacuation Pause) 1317M->133M(1424M) 4.115ms
[120.130s][info][gc] GC(966) Pause Young (Normal) (G1 Evacuation Pause) 901M->132M(1424M) 4.116ms
Thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/4086
More information about the hotspot-gc-dev
mailing list