1
JVM設置:理解元空間大小
-Xms8192M
-Xmx8192M
-XX:NewRatio=1
-XX:SurvivorRatio=6
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=512M
jstat的輸出是gccapacity的
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
524288.0 524288.0 0.0 231108.3 3145728.0 2926008.3 4194304.0 73553.2 58624.0 56981.2 8960.0 8619.0 5 0.684 1 0.235 0.919
輸出是
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
4194304.0 4194304.0 4194304.0 218624.0 208896.0 3766784.0 4194304.0 4194304.0 4194304.0 4194304.0 0.0 1099776.0 59136.0 0.0 1048576.0 8960.0 26 1
在這兩種元空間的上述輸出大小約爲56M甚至儘管最小metaspaceSize被定義爲256m
'-XX:MetaspaceSize = 256M' does * not *配置最小尺寸。它甚至沒有配置任何類型的實際大小。 – Holger
那是什麼意思。有沒有辦法讓我強制實施元空間大小?目前metaspace的大小利用率達到了90%,這是不是很糟糕?任何方式來避免它? – noob
請參閱[高級垃圾收集選項](http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html#BABFAFAE):'-XX:MetaspaceSize = size':*設置第一次超出時將觸發垃圾回收的分配的類元數據空間的大小。垃圾收集的閾值根據所使用的元數據量而增加或減少*因此,此選項僅指定觸發垃圾回收的閾值,它甚至可能會在之後進行更改。沒有理由擔心使用。必要時會增加尺寸。 – Holger