JVM Parallel Scavenge GC日志详解

2020-04-24 15:22:03 浏览数 (2)

Parallel Scavenge 日志格式

代码语言:javascript复制
-XX: PrintGCDetails
代码语言:javascript复制
[GC (Allocation Failure) [PSYoungGen: 127520K->20064K(149504K)] 127520K->121449K(491008K), 0.0136101 secs] [Times: user=0.06 sys=0.06, real=0.01 secs] 
# GC / Full GC 表示 是 YGC 还是 Full GC;
# (Allocation Failure) 表示 触发GC的原因;
# PSYoungGen GC 发生的地方,指年轻代; 127520K->20064K(149504K)  分别指 GC回收前年轻代占用的空间,GC 回收后年轻代占用的空间;(149504K)  是 JVM分配年轻代总的空间;
# 127520K->121449K(491008K) 描述的是整个 heap 堆(新生代 老年代), GC回收前占用的空间,GC 回收后占用的空间;(491008K)  是 JVM分配总的空间;
# 0.0136101 secs 指本次GC所消耗的时间;
# [Times: user=0.06 sys=0.06, real=0.01 secs]     --- Linux 中 time ls 的结果;

以上部分 回收前年轻代空间,与 回收前堆占用空间 是一样,说明 回收前 老年代尚没有对象。

  • heap dump部分

出现 OutOfMemoryError , GC 会打印 heap dump 的信息

代码语言:javascript复制
eden space 1283072K, 100% used [0x0000000719780000,0x0000000767c80000,0x0000000767c80000)
# 后面的内存地址指的是,起始地址,使用空间结束地址,整体空间结束地址
 Metaspace used 3663K, capacity 4504K, committed 4864K, reserved 1056768K
# 元空间已经使用的空间大小,总容量大小,虚拟内存占用空间大小,虚拟内存预留空间大小;

0 人点赞