Java 当终身世代占50%,元空间占98%时,为什么FGC

Java 当终身世代占50%,元空间占98%时,为什么FGC,java,garbage-collection,metaspace,Java,Garbage Collection,Metaspace,JVM版本 java版本“1.8.0_111” Java(TM)SE运行时环境(build 1.8.0_111-b14) Java HotSpot(TM)64位服务器虚拟机(构建25.111-b14,混合模式) JVM内存使用情况,如: 堆 def新一代总计33216K,使用4K[0x00000000fa000000,0x00000000fc400000,0x00000000fc400000) eden空间29568K,已使用0%[0x00000000fa000000,0x00000000fa0

JVM版本
java版本“1.8.0_111”
Java(TM)SE运行时环境(build 1.8.0_111-b14)
Java HotSpot(TM)64位服务器虚拟机(构建25.111-b14,混合模式)
JVM内存使用情况,如:

def新一代总计33216K,使用4K[0x00000000fa000000,0x00000000fc400000,0x00000000fc400000)
eden空间29568K,已使用0%[0x00000000fa000000,0x00000000fa001080,0x00000000fbce0000)
从空间3648K中,0%已使用[0x00000000fc070000,0x00000000fc070000,0x00000000fc400000)
对于空间3648K,使用了0%[0x00000000fbce0000,0x00000000fbce0000,0x00000000fc070000)
长期发电总量6144000,使用3449000[0x00000000fc400000,0x0000000100000000,0x0000000100000000)
空间61440K,使用率为56%[0x00000000fc400000,0x00000000fe5aeaa8,0x00000000FE5AEC000,0x0000000100000000)
元空间使用51022K,容量51693K,提交57344K,保留57344K

JVM参数是:
JAVA_OPTS=“$JAVA_OPTS”-server”“-XX:+UseSerialGC”“-XX:+UseAptiveSizePolicy
JAVA_OPTS=“$JAVA_OPTS”-Dcom.sun.management.jmxremote.port=31345”-Djava.rmi.server.hostname=0.0.0”-Dcom.sun.management.jmxremote.authenticate=false”-Dcom.sun.management.ssl=false”-Dcom.sun.management.jmxremote.ssl.need.client.auth=false”-XX:+UnlockCommercialFeatures”-:+XX:+FlightRecorder
JAVA_OPTS=“$JAVA_OPTS”-XX:-使用压缩类指针
JAVA_OPTS=“$JAVA_OPTS”-XX:MaxMetaspaceSize=56m”-XX:MarkStackSize=32768”-XX:MarkStackSizeMax=4194304”-XX:ShareDredWriteSize=12582912”-XX:StackShadowPages=3”-XX:VMThreadStackSize=512
JAVA_OPTS=“$JAVA_OPTS”-XX:InitialCodeCacheSize=48m”-XX:ReservedCodeCacheSize=48m”-XX:CompileThreshold=3000”-XX:+useCodecacheflash
JAVA_OPTS=“$JAVA_OPTS”-Xms96m”-Xmx96m”-XX:NewRatio=2
JAVA_OPTS=“$JAVA_OPTS-Xss256k-Xmn36m”

当前gc日志为:
23636.561:[完整GC(最后一搏收集)23636.561:[终身:34568K->34568K(61440K),0.1815189秒]34568K->34568K(94656K),[元空间:51111K->51111K(57344K)],0.1816524秒][次数:用户=0.17系统=0.00,实值=0.18秒]
23636.744:[完整GC(元数据GC阈值)23636.744:[终身:34568K->34609K(61440K),0.1811110秒]34770K->34609K(94656K),[元空间:51111K->51111K(57344K)],0.1813034秒][次:用户=0.18系统=0.00,实值=0.18秒]
23636.926:[完整GC(最后一搏收集)23636.926:[终身:34609K->34609K(61440K),0.1731652秒]34609K->34609K(94656K),[元空间:51111K->51111K(57344K)],0.1734136秒][次数:用户=0.17系统=0.00,实值=0.18秒]
23637.100:[完整GC(元数据GC阈值)23637.101:[终身:34609K->34567K(61440K),0.1757107秒]34667K->34567K(94656K),[元空间:51111K->51111K(57344K)],0.1758392秒][次:用户=0.16系统=0.00,实值=0.17秒]
23637.276:[完整GC(最后一搏收集)23637.276:[终身:34567K->34567K(61440K),0.1675901秒]34567K->34567K(94656K),[元空间:51111K->51111K(57344K)],0.1677021秒][次数:用户=0.16系统=0.00,实值=0.17秒]
23637.447:[完整GC(元数据GC阈值)23637.447:[终身:34567K->34667K(61440K),0.1613939秒]35383K->34667K(94656K),[元空间:51117K->51117K(57344K)],0.1615529秒][次:用户=0.16系统=0.00,实值=0.16秒]
23637.609:[完整GC(最后一搏收集)23637.609:[终身:34667K->34667K(61440K),0.1629309秒]34667K->34667K(94656K),[元空间:51117K->51117K(57344K)],0.1631631633秒][次:用户=0.15系统=0.00,实值=0.17秒]

Jstat状态检查为:
1)。/jdk1.8.0_111/bin/jstat-gc 3013 1000 5
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
3648.0 3648.0 0.0 0.0 29568.0 41.8 61440.0 35100.7 57344.0 51127.3 0.0 0.0 391 2.904 105988 17121.850 17124.755
3648.0 3648.0 0.0 0.0 29568.0 562.5 61440.0 35049.7 57344.0 51127.3 0.0 0 0.0 391 2.904 105994 17122.837 17125.742
3648.0 3648.0 0.0 0.0 29568.0 155.8 61440.0 35539.3 57344.0 51123.7 0.0 0.0 391 2.904 106000 17123.893 17126.797
3648.0 3648.0 0 0.0 0 29568.0 0 0.0 61440.0 35272.7 57344.0 51123.7 0.0 0 0.0 391 2.904 106005 17124.776 17127.681
3648.0 3648.0 0 0.0 0 29568.0 0 0.0 61440.0 35269.9 57344.0 51123.7 0.0 0 0.0 391 2.904 106011 17125.791 17128.696
2)。/jdk1.8.0_111/bin/jstat-3013 1000 5级 加载字节卸载字节时间
2399638866.615278 22602.02294.53
2399638866.615278 22602.02294.53
23997 38868.1 15279 22603.6 2294.53
23997 38868.1 15279 22603.6 2294.53

23997 38868.1 15279 22603.6 2294.53

元空间占用率为98%,高于最小元空间自由率