1. 程式人生 > >第12課:jvm的gc日誌full Gc每個欄位徹底詳解

第12課:jvm的gc日誌full Gc每個欄位徹底詳解

內容:

    1.演示Full GC
    2.徹底解析FullGC的每一個欄位

一、演示Full GC

[Full GC (Ergonomics) [PSYoungGen: 944K->890K(2048K)] [ParOldGen: 7129K->7129K(7168K)] 8074K->8019K(9216K), [Metaspace: 3357K->3357K(1056768K)], 0.1213761 secs] [Times: user=0.27 sys=0.00, real=0.12 secs]

二、徹底解析FullGC的每一個欄位

    Full GC (Ergonomics):表示GC型別是Full GC
    [PSYoungGen: 944K->890K(2048K)]:表示Full GC導致Minor GC,Minor GC採用PSYoungGen的方式,944K表示在Heap中GC之前新生代佔用的記憶體空間大小,890K表示Heap中GC之後新生代佔用的記憶體空間大小,2048K表示Heap中整個新生代的記憶體空間大小
    ParOldGen: 7129K->7129K(7168K):表示年老代的GC,7129K表示GC之前年老代佔用的記憶體空間,7129K表示GC之後年老代佔用的記憶體空間,7168K表示年老代的記憶體空間大小,可以發現GC前後記憶體沒有釋放
    8074K->8019K(9216K):2048K表示整個GC發生前整個Heap記憶體佔用量,613K表示整個GC發生後整個Heap記憶體佔用量,9728k表示整個Heap的記憶體空間大小;
    Metaspace: 3357K->3357K(1056768K):元空間的本質和永久代類似,都是對JVM規範中方法區的實現。不過元空間與永久代之間最大的區別在於:元空間並不在虛擬機器中,而是使用本地記憶體,3357K表示GC之前年老代佔用的記憶體空間,3357K表示GC之後年老代佔用的記憶體空間,1056768K表示年老代的記憶體空間大小,可以看出MetaSpace分配的空間很大
    0.1213761 secs:表示Full GC消耗的時間
    [Times: user=0.27 sys=0.00, real=0.12 secs]:表示Minor GC在user使用者空間消耗的時間,sys使用者空間消耗的時間,real表示實際消耗的的時間