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不包括这些时间。
|