jstat: объемы Survivor и Eden Space в течение периода уменьшаются - PullRequest
2 голосов
/ 14 января 2020

Уменьшается ли в любое время java (8) объем памяти до перезапуска JVM?

Я использую jstat -g c для получения информации о памяти, и вот снимок за два дня. Второй снимок имеет меньшую емкость для SC1 и E C по сравнению с первым снимком.

Может кто-нибудь помочь / объяснить, почему я вижу такое поведение? это ожидается?

Java version : java-1.8.0-openjdk-1.8.0.191.b12

sc1: survivor space 1 capacity  
EC: eden space capacity 

S0C,    S1C,  S0U,  S1U,EC,EU,OC,OU,MC,MU,CCSC,CCSU,YGC,YGCT,FGC,FGCT,GCT
4096.0,7168.0,3968.3,0.0,123904.0,54705.9,101888.0,24165.6,62464.0,60100.6,7168.0,6618.4,30,1.314,3,0.298,1.612  
5632.0,4096.0,0.0,4000.2,113152.0,56035.3,101888.0,24165.6,62720.0,60145.3,7168.0,6620.0,33,1.345,3,0.298,1.643

1 Ответ

2 голосов
/ 15 января 2020

Есть флаг, который управляет этим: -XX:+UseAdaptiveSizePolicy, который включен по умолчанию. Этот флаг, основываясь на целевом времени паузы, которое у вас есть (вы используете G1, я полагаю), увеличивает или уменьшает определенные регионы на основе эвристики, которую он собирает. Лучший способ узнать, что именно он делает, - это исходный код самой G1.

...