GC日志启动配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 打印gc详情
-XX:+PrintGCDetails
# 输出GC的时间戳(以日期的形式,如 2017-09-04T21:53:59.234+0800)
-XX:+PrintGCDateStamps
# 打印对象分布,分析 GC 时的晋升情况和晋升导致的高暂停
-XX:+PrintTenuringDistribution
# 每次发生 GC 时,对比一下 GC 前后的堆内存情况
-XX:+PrintHeapAtGC
# 打印Reference处理信息,强引用/弱引用/软引用/虚引用/finalize 方法检测
-XX:+PrintReferenceGC
# 打印STW时间,暂停时间是 GC 最重要的指标
-XX:+PrintGCApplicationStoppedTime

# GC日志输出的文件路径
-Xloggc:/path/to/gc.log
# 开启日志文件分割
-XX:+UseGCLogFileRotation
# 最多分割几个文件,超过之后从头开始写
-XX:NumberOfGCLogFiles=7
# 每个文件上限大小,超过就触发分割
-XX:GCLogFileSize=100M

推荐

1
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintHeapAtGC -XX:+PrintReferenceGC -XX:+PrintGCApplicationStoppedTime -Xloggc:gclog/gc-%t.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=7 -XX:GCLogFileSize=100M

GC日志解析

minor GC 日志分析

Full GC 日志分析