JVM調優由淺到深(二)——如何查看jvm回收日誌

在java程序運行時候,如果輸出GC過程的日誌,我們常用到以下的jvm參數。

-XX:+PrintGC 簡潔的輸出GC日誌
-XX:+PrintGCDetails 詳細的輸出GC日誌

我們可以在idea 加上jvm的參數。如圖
在這裏插入圖片描述

運行代碼

	public static void main(String[] args){

		{
			byte[] b = new byte[1024 * 1024 * 5];
		}
		int a = 0;
		System.gc();
		System.out.println("gc over");
	}

運行結果截圖:
在這裏插入圖片描述

[GC (System.gc()) [PSYoungGen: 11710K->1112K(76288K)] 11710K->1120K(251392K), 0.0019247 secs] [Times: user=0.06 sys=0.00, real=0.00 secs] 
解釋: 
GC 		垃圾回收器
PSYoungGen 年輕代
11710K  年輕代垃圾回收前的大小
1112K	年輕代垃圾回收後的大小
(76288K)	年輕代的總大小
user	Young GC用戶耗時
sys		Young GC系統耗時
real	Young GC實際耗時

[Full GC (System.gc()) [PSYoungGen: 1112K->0K(76288K)] [ParOldGen: 8K->963K(175104K)] 1120K->963K(251392K), [Metaspace: 3437K->3437K(1056768K)], 0.0054721 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 

解釋: 
Full GC 	老年代GC,指發生在老年代的垃圾回收
PSYoungGen 年輕代
1112K	年輕代垃圾回收前的大小
0K		年輕代垃圾回收後的大小
(76288K)	年輕代的總大小

ParOldGen 老年代
8K		老年代垃圾回收前的大小
963K	老年代垃圾回收後的大小
(175104K)	老年代的總大小

1120K	java堆垃圾回收前的大小
963K	java堆垃圾回收後的大小
(251392K)	java堆的總大小

user	Young GC用戶耗時
sys		Young GC系統耗時
real	Young GC實際耗時


發佈了32 篇原創文章 · 獲贊 14 · 訪問量 4499
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章