jstat : вместимость Survivor и Eden Space уменьшается с течением времени.

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

Я использую jstat -gc для вывода информации о памяти, и вот снимок за два дня. Второй снимок имеет меньше возможностей для SC1 и EC по сравнению с первым снимком.

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

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

person Mallesh    schedule 13.01.2020    source источник


Ответы (1)


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

person Eugene    schedule 15.01.2020
comment
Спасибо за отклик Евгений. Не могли бы вы поделиться быстрыми ссылками, если у вас есть под рукой. - person Mallesh; 31.01.2020