Java-性能調優-理解GC日誌
阿新 • • 發佈:2018-07-09
times pla div 區別 開始 cat code you 區域
1 2 3 4 |
[ ~]# cat gc.log. 0 | grep ‘Full GC‘
1.652 : [Full GC (System) 1.652 : [CMS: 0K->21718K(262144K), 0.0837910 secs] 48398K->21718K(458752K), [CMS Perm : 16462K->16457K(21248K)], 0.0841650 secs] [Times: user= 0.08 sys= 0.00 , real= 0.08 secs]
664643.879 : [GC 664643.879 : [ParNew: 134434K->3202K(196608K), 0.0068030 secs] 327839K->196659K(458752K) icms_dc= 0 , 0.0070080 secs] [Times: user= 0.03 sys= 0.00 , real= 0.01 secs]
|
1.625, 664643.879為GC發生的時間,從Java虛擬機啟動以來經過的秒數。
“[GC” 和 “[Full GC” 表示GC停頓類型,而不是區分新生代GC和老年代GC.
Full GC會發生Stop-The-World(STW)。如果調用System.gc()觸發的Full GC,會顯示“[Full GC(System)”
[DefNew、[Tenured、[Perm表示GC發生的區域:
[DefNew:Serial收集器中新生代
[ParNew:ParNew收集器新生代
[PSYoungGen:Parallel Scanvenge收集器新生代
[CMS:CMS收集器老年代
[Tenured:Serial收集器老年代
[Perm,[CMS Perm:永久代
1 |
134434K->3202K(196608K) 含義: “GC前內存區已使用容量->GC後內存區已使用容量(該內存區域總容量)”
|
1 |
[Times: user= 0.03 sys= 0.00 , real= 0.01 secs] 含義:user,sys,real分別表示用戶消耗CPU時間、內核消耗CPU時間、操作從開始到結束所經過的墻鐘時間(wall clock time)<br>CPU時間與墻鐘時間的區別:墻鐘時間包括各種非運算等待時間,如IO阻塞等待,而CPU不包括這些時間。
|
Java-性能調優-理解GC日誌