GC日志分析

2017-07-20T16:32:19.836+0800: 1216.559: [GC pause (G1 Evacuation Pause) (young), 0.0797857 secs]
这是最顶层的信息,它告诉我们这是一个从进程启动后1216.559秒开始的一个疏散暂停,在这时年轻代所有的区域被疏散,如Eden和Survivor。这次收集用了0.0797857秒完成的。

 

 

[Parallel Time: 58.5 ms, GC Workers: 8]
并行时间是所有并行GC工作线程所花费的总时间


[GC Worker Start (ms): Min: 1216567.9, Avg: 1216568.1, Max: 1216568.4, Diff: 0.5]
所有工作线程的平均、最小、最大和差异时间

[Ext Root Scanning (ms): Min: 4.4, Avg: 11.8, Max: 33.6, Diff: 29.2, Sum: 94.3]
这告诉我们每一个扫描根(全局、寄存器、线程栈、虚拟机数据结构)的工作线程花费的时间,清晰的给出了所有工作线程的平均、最小、最大和差异时间。


[Update RS (ms): Min: 0.0, Avg: 10.6, Max: 17.6, Diff: 17.6, Sum: 85.1]
Update RS 告诉我们每一个线程更新Remembered Sets花费的时间。Remembered Sets是保存到堆中的区域的跟踪引用。
设值方法线程持续改变对象图,自此引指向一个特定的区域。我们保存这些改变的跟踪信息到叫作Update Buffers的更新缓存中。Update RS 子任务不能并发的处理更新缓存,更新一致所有区域的Remembered Sets。

 

[Processed Buffers: Min: 0, Avg: 11.1, Max: 23, Diff: 23, Sum: 89] 这告诉我们每一个线程处理的Update Buffers(上面提到的)的数量。

[Scan RS (ms): Min: 0.0, Avg: 0.5, Max: 2.7, Diff: 2.7, Sum: 3.7]
这是每一个工作线程扫描Remembered Sets花费的时间。一个区域的Remembered Sets包含指向这个区域的引用的相符合的卡片。这个阶段扫描这些卡片寻找指向所有这些区域的Collection Set的引用。

[Code Root Scanning (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 0.4]

[Object Copy (ms): Min: 22.4, Avg: 33.1, Max: 39.0, Diff: 16.6, Sum: 264.5]
这些是每一个工作线程把Collection Sets的区域里的活跃对象复制到另一个区域里花费时间

[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
中断时间是每一个工作线程提供中断花费的时间。但是在中断之前,它检查其它线程的工作队列,如果在其它工作队列中仍然有引用,它会尝试固定对象引用,如果它成功的固定了一个引用,它会处理并再次提供中断


[Termination Attempts: Min: 1, Avg: 1.1, Max: 2, Diff: 1, Sum: 9]
这个给出了每一个线程提供中断的次数。


[GC Worker Other (ms): Min: 0.9, Avg: 1.1, Max: 1.3, Diff: 0.4, Sum: 9.0]
这些是每一个工作线程执行其它上面我们没有在总并行时间里统计的任务花费的时间。

[GC Worker Total (ms): Min: 56.9, Avg: 57.1, Max: 57.4, Diff: 0.5, Sum: 457.1]
这些是每一个工作线程的总生存时间。
[GC Worker End (ms): Min: 1216624.9, Avg: 1216625.3, Max: 1216625.3, Diff: 0.5]
这些是每一个工作线程的以毫秒为单位的停止时间

 

[Code Root Fixup: 0.9 ms]
[Code Root Purge: 0.1 ms]
[Clear CT: 0.5 ms]
[Other: 19.8 ms]
[Choose CSet: 0.4 ms]
[Ref Proc: 2.7 ms]
[Ref Enq: 0.1 ms]
[Redirty Cards: 0.4 ms]
[Humongous Register: 1.8 ms]
[Humongous Reclaim: 0.1 ms]
[Free CSet: 1.4 ms]


[Eden: 180.0M(180.0M)->0.0B(178.0M) Survivors: 26.0M->16.0M Heap: 432.5M(512.0M)->262.5M(512.0M)]
这显示了Eden占用了180M,在收集前它的容量也是180M。收集之后,它的容量降到了0,自所有对象从Eden区疏散/晋升后。它的目标大小增长到了178M,
Survivors收集之后Survivor从26M变到16M,
Heap堆空间总占有量和总容量分别是432M和512M回收之前,回收之后分别变为262和512M。

[Times: user=0.32 sys=0.08, real=0.09 secs]

posted on 2017-07-20 19:17  hi_rain  阅读(1212)  评论(0)    收藏  举报