2

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
4

1 回答 1

2

有一个标志可以控制:-XX:+UseAdaptiveSizePolicy,默认情况下启用。根据您拥有的目标暂停时间(G1我假设您正在使用),此标志的作用是根据它收集的启发式方法增加或减少某些区域。了解它到底做什么的最好方法是它本身的源代码G1

于 2020-01-15T03:26:30.043 回答