1、AdaptiveSizePolicy(自適應大小策略) :
JDK 1.8 默認使用 UseParallelGC 垃圾回收器,該垃圾回收器默認啟動了 AdaptiveSizePolicy,會根據GC的情況自動計算計算 Eden、From 和 To 區的大小;
2、配置:
開啟:-XX:+UseAdaptiveSizePolicy
關閉:-XX:-UseAdaptiveSizePolicy
3、注意事項:
3.1、在 JDK 1.8 中,如果使用 CMS,無論 UseAdaptiveSizePolicy 如何設置,都會將 UseAdaptiveSizePolicy 設置為 false;不過不同版本的JDK存在差異;
3.2、UseAdaptiveSizePolicy不要和SurvivorRatio參數顯示設置搭配使用,一起使用會導致參數失效;
3.3、由於AdaptiveSizePolicy會動態調整 Eden、Survivor 的大小,有些情況存在Survivor 被自動調為很小,比如十幾MB甚至幾MB的可能,這個時候YGC回收掉 Eden區后,還存活的對象進入Survivor 裝不下,就會直接晉升到老年代,導致老年代占用空間逐漸增加,從而觸發FULL GC,如果一次FULL GC的耗時很長(比如到達幾百毫秒),那么在要求高響應的系統就是不可取的。
附:對於面向外部的大流量、低延遲系統,不建議啟用此參數,建議關閉該參數。