在JVM重新启动之前,java(8)的内存容量是否会减少?
我正在使用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
答案 0 :(得分:2)
有一个控制该标志的标志:-XX:+UseAdaptiveSizePolicy
,默认情况下处于启用状态。根据您拥有的目标暂停时间(我假设使用的是G1
),此标志的作用是根据所收集的启发式信息来增加或减少某些区域。了解其确切功能的最佳方法是G1
本身的源代码。