SurvivorRatio
- SurvivorRatio表示Eden/一个Survivor的比值,默认是8,最小值为1
MinSurvivorRatio
- MinSurvivorRatio表示在GC之后,如果需要重新计算survivor的值(有个参数叫
UseAdaptiveSizePolicy(开启自适应调节策略)
开启的时候才会去计算它的值),survivor的新值不能低于根据它算出来的值
InitialSurvivorRatio
- lnitialSurvivorRatio表示新生代初始可用内存/survivor的比值,默认情况下lnitialSurvivorRatio为8,
那表示From和To各自占整个新生代的1/8,而Eden占(1-2*1/8=3/4),并且只在启动的时候有用
-
CMS GC下如果
MaxTenuringThreshold
(可以设置一个次数,默认是15次,超过15次,则会将幸存者区幸存下来的转去老年区)设置为0,相当于每次GC都直接晋升到老生代,此时如果SurvivorRatio没有设置的话,会将SurvivorRatio默认设置为1024 -
lnitialSurvivorRatio不能比3小,至少是3,否则会被JVM自动调整为3,MinSurvivorRatio也是一样的
-
如果我们JVM参数里设置过SurvivorRatio,但是没有设置InitialSurvivorRatio,那么lnitialSurvivorRatio的值会被默认设置为SurvivorRatio+2,MinSurvivorRatio在这种情况下也是一样的
-
InitialSurvivorRatio和MinSurvivorRatio只针对PS GC算法有用