GC 日志就像应用的体检报告,能看出内存健康状况。但一堆数字看不懂?不知道哪些指标关键?从日志配置到分析解读,一篇讲透 GC 日志。
一、GC 日志配置
1.1 Java 9+ 统一日志(Xlog)
# 基础配置(推荐)
-Xlog:gc*:file=/var/log/gc.log:time,uptime,level,tags:filecount=5,filesize=20m
# 参数解析:
# gc* → 所有 GC 相关日志
# file= → 输出文件
# time,uptime → 时间格式(绝对时间 + 运行时长)
# level → 日志级别(info/warning/error)
# tags → 日志标签(gc,heap,cpu,startup)
# filecount=5 → 保留 5 个文件
# filesize=20m → 每个文件 20MB
# 容器环境(输出到 stdout)
-Xlog:gc*:stdout:time,level,tags
# 详细配置(包含 GC 原因 + 堆详情)
-Xlog:gc*=info,gc+heap=debug,gc+task=debug:file=/var/log/gc.log:time,level,tags:filecount=5,filesize=20m
2026/7/2大约 8 分钟