大哥大之理解GC日誌

每一種GC日誌有區別,但是大同小異

33.125[GC [PSYoungGen: 3937K->904K(76288K)] 3937K->912K(251392K), 0.0009287 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 

100.667[Full GC (System.gc()) [PSYoungGen: 904K->0K(76288K)] [ParOldGen: 8K->690K(175104K)] 912K->690K(251392K), [Metaspace: 3304K->3304K(1056768K)], 0.0042467 secs] [Times: user=0.14 sys=0.00, real=0.01 secs] 

Heap
 PSYoungGen      total 76288K, used 1966K [0x000000076af00000, 0x0000000770400000, 0x00000007c0000000)
  	eden space 65536K, 3% used [0x000000076af00000,0x000000076b0eba90,0x000000076ef00000)
  	from space 10752K, 0% used [0x000000076ef00000,0x000000076ef00000,0x000000076f980000)
  	to   space 10752K, 0% used [0x000000076f980000,0x000000076f980000,0x0000000770400000)
 
	ParOldGen       total 175104K, used 690K [0x00000006c0c00000, 0x00000006cb700000, 0x000000076af00000)
  		object space 175104K, 0% used [0x00000006c0c00000,0x00000006c0caca28,0x00000006cb700000)
 
                                           
	Metaspace       used 3335K, capacity 4496K, committed 4864K, reserved 1056768K
  		class space    used 363K, capacity 388K, committed 512K, reserved 1048576K
  • 33.125100.667 代表Java虛擬機啓動以來經過的秒數

  • [Gc[Full GC 代表停頓類型,如果有Full說明GC發生了Stop-the-World

  • (System.gc()) 是因爲調用了System.gc() 方法所觸發的收集,那麼就會顯示[GC System.gc()

  • PSYoungGen 表示GC所發生的區域,顯示的區域名詞和GC收集器有關係。

    • Serial新生代意思是Default New Generation 所以顯示[DefNew
    • ParNew新生代意思是:Parallel New Generation就會變成 [ParNew
    • Parallel Scavenge 就會變成[PSYoungGen
    • 注:老年代[Tenured和永久代[Perm同理,名稱也是由收集器決定的
  • PSYoungGen後面的3937K->904K(76288K)

    • 含義:GC前內存區域已使用容量 -> GC後該內存已使用容量(該內存區域總容量)
  • 方括號之外的3937K->912K(251392K)

    • 含義:GC前Java堆已使用容量 -> GC後Java堆已使用容量(Java堆總容量)
  • 後面的0.0009287 secs 就是表示該內存區域GC所佔用的時間,單位秒

  • [Times: user=0.00 sys=0.00, real=0.00 secs]具體的時間數據,和Linux的time命令含義一致。

    • user:代表用戶態消耗的CPU時間
    • sys:內核態消耗的CPU時間
    • real:操作從開始到結束所經過的牆鍾時間(Wall Clock Time)
    • CPU和牆鍾時間區別就是:牆鍾時間包括各種非運算的等待耗時,例等待磁盤I/O、等待線程阻塞。而CPU不包括這些耗時。同時如果看到user和sys超過read的時間,是正常的,因爲多線程下,會把user sys的時間進行疊加。
  • Heap 系統運行完成前的快照,其他的字面意思了

    • PSYoungGen 新生代
    • ParOldGen 老年代
    • Metaspace永久代
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章