JVM GC 日志分析报告
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_c35d27f3/gc-log-report。
技能介绍
解决的问题
生产环境里,JVM GC 日志往往是一堆时间戳、堆变化和阶段耗时。原始 gc.log* 能记录 Full GC、Young GC、暂停时间和堆占用,但很难直接回答:这次卡顿是否由 GC 引起、风险等级如何、是应用侧对象分配问题还是 JVM 参数问题。这个技能用于把一份或多份 GC 日志整理成可汇报、可复核的分析材料,适合发给性能负责人、架构师或中间件团队。
工作方式与适用边界
它会先确认 gc.log* 文件范围,识别是否只是滚动日志的一部分,再提取关键指标:时间窗、GC 次数、Full GC 次数、平均/最大/P95 暂停、超过 200ms、500ms、1s 的长暂停、GC 原因分布、回收后堆占用、Metaspace 变化和高峰窗口。随后会给出结论性判断,例如是否存在 Full GC 风暴、高频 Young GC、长尾暂停或老年代压力,并将问题项显式标注。
输出通常包含 HTML 正式报告 和 Markdown 简版结论,可按需加入折线图、饼图或柱状图,且优先使用独立可打开的纯 HTML 图表。它还会从应用侧、JVM 参数侧和平台侧给出调优依据,而不是只说“继续观察”。如果只有单个滚动文件、日志格式不完整或数据不足,报告会保留章节并说明数据边界,不会把局部样本包装成全量结论。
使用场景
- 线上接口偶发变慢时,读取 gc.log* 判断是否由 Full GC 或长暂停引起,并生成可复核结论。
- 拿到多个滚动 GC 日志后,合并时间窗,输出给架构师看的调优依据。
- 需要向领导汇报 JVM 风险时,把 GC 指标整理成一页 Markdown 结论,并高亮问题项。
- 正式复盘生产故障时,生成独立打开的 HTML GC 报告并附关键图表。
适合人员
- 需要把原始 GC 日志转成故障判断结论的 Java 研发工程师
- 需要评估 GC 策略、堆划分与调优依据的 JVM 架构师
- 需要向管理层汇报生产系统 JVM 风险的运维负责人
- 需要判断 Full GC、长暂停与老年代压力的中间件性能负责人