JVM 垃圾回收日志示例
以下是垃圾回收日志中的一块:
0.150: [GC (System.gc()) [PSYoungGen: 5161K->931K(74752K)] 5161K->939K(245760K), 0.0007762 secs]
[Times: user=0.00 sys=0.00, real=0.00 secs]
0.151: [Full GC (System.gc()) [PSYoungGen: 931K->0K(74752K)] [ParOldGen: 8K->781K(171008K)] 939K->781K(245760K),
[Metaspace: 3445K->3445K(1056768K)], 0.0045476 secs]
[Times: user=0.01 sys=0.00, real=0.01 secs]
日志解读
- 时间戳:0.150 表示 GC 发生的时间点。
- GC 类型:日志开头的
[GC和[Full GC说明了这次垃圾收集的停顿类型。 - 内存区域:
PSYoungGen,ParOldGen,PSPermGen表示 GC 发生的区域,名称与使用的 GC 收集器密切相关。PSYoungGen表示新生代的 Parallel Scavenge 垃圾收集器。ParOldGen表示老年代收集器为 Parallel Old。
- 内存容量:方括号内部的
5161K->931K(74752K)含义是'GC 前该内存区域已使用容量 -> GC 后该内存区域已使用容量(该内存区域总容量)'。方括号之外的5161K->939K(245760K)表示 GC 前 Java 堆已使用容量 -> GC 后 Java 堆已使用容量 (Java 堆总容量)。


