1. 程式人生 > >IDEA如何檢視GC日誌以及含義

IDEA如何檢視GC日誌以及含義

1IDEA執行程式如何檢視GC日誌

首先點選IDEA右上角這個位置
在這裡插入圖片描述
然後點選第一個
VMoption加上 -xx:+PrintGCDetetails就可以了

2.含義

下面是我的IDEA測試的時候打印出來的GC日誌

[GC (Allocation Failure) [PSYoungGen: 33280K->5112K(38400K)] 33280K->30861K(125952K), 0.1152444 secs] [Times: user=0.25 sys=0.00, real=0.12 secs] 
[GC (Allocation Failure) [PSYoungGen: 38392K->5096K(71680K)] 64141K->
59605K(159232K), 0.0893163 secs] [Times: user=0.25 sys=0.00, real=0.09 secs] [GC (Allocation Failure) [PSYoungGen: 71656K->5112K(71680K)] 126165K->120781K(187392K), 0.1649396 secs] [Times: user=0.45 sys=0.00, real=0.16 secs] [Full GC (Ergonomics) [PSYoungGen: 5112K->1525K(71680K)] [ParOldGen: 115669K->115381K
(234496K)] 120781K->116907K(306176K), [Metaspace: 3304K->3304K(1056768K)], 2.4331777 secs] [Times: user=3.08 sys=0.01, real=2.43 secs]

GC:年輕代的垃圾回收的日誌
FullGc:整個堆的垃圾回收(包括年老代和新生代)
Allocation Failure:表示垃圾回收的原因是因為為物件分配記憶體的時候空間不夠了。
Ergonomics:HotSpot自動選擇和調優引發的FullGC
[PSYoungGen: 33280K->5112K(38400K)]:新生代區域回收前佔用的記憶體大小是33280k,回收後佔用的記憶體大小是5112K,新生代總的大小為38400K.PS代表新生代的是使用的是Parallel Scavenge收集器垃圾收集器。
[ParOldGen: 115669K->115381K(234496K)] :數字的含義和上面相似,只不過這個區域指的是年老代的區域。
0.1152444 secs:表示回收的時間。Par代表老年代使用的是Parallel old垃圾回收器。
[Metaspace: 3304K->3304K(1056768K)]:這部分表示的是方法區的記憶體大小變化。
33280K->30861K(125952K):[] 外面的表示整個堆清理前已經使用的空間的大小,清理後的大小和整個堆的大小。
[Times: user=0.25 sys=0.00, real=0.12 secs] 代表的是使用者狀態耗時0.25,系統狀態耗時0.00,CPU實際的執行時間為0.12s。由於你的電腦不一定是單核的,所以這個值會比前面兩個值得和要小一些。