第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表示實際消耗的的時間