线上GC如何排查

发布时间:2026/10/20 0:49:24

线上GC如何排查 摘要排查思路是“先在线定性再离线定量”。先用 jstat 定性再用 jmap -histo 定位嫌疑对象最后用 jcmd 精准 Dump。永远不在生产环境执行 jmap -dump:live 或 jmap -histo:live因为它们会强制触发 Full GC在高并发场景下等同于自杀。尤其是在云原生 Pod 环境下堆转储Dump本身耗时长、文件巨大、难以拉取所以它绝不是首选工具。第一步快速定性——先用 jstat 看整体态势先用 jstat -gcutil PID 1000 10看两个核心指标· FGC 频率如果 FGC 频繁且耗时飙升说明老年代已满可能存在内存泄漏或大对象直接晋升。· YGC 频率如果 YGC 每分钟几十次说明年轻代过小或对象分配过快通过这个快速定性就能判断是“突发流量导致”还是“慢泄漏”从而决定下一步动作。第二步在线取证——用 jmap -histo 锁定嫌疑对象接下来我会执行 jmap -histo PID | head -20不带 :live避免触发 GC。这是一个低风险、秒级返回的操作能直接告诉我们堆里数量最多、占用最大的是哪类对象。这一步的价值在于不需要 Dump 就能锁定 80% 的问题。第三步精准深挖——用 jcmd 抓 Dump 做离线分析决策点什么情况下才去抓 Dump只有在直方图已经锁定某个类但看不清引用链才去抓快照。此时我选用 jcmd PID GC.heap_dump而非 jmap。原因是jcmd对在线业务的影响更小且在堆内存 8G 时STW 时间显著低于 jmap。如果线上堆占用已经飙到 90% 以上建议直接抓完快照立即重启应用“止血”再离线用 MAT 分析。第四步临时止血如果来不及分析如果 Full GC 已经让系统濒临崩溃修复代码来不及我会做两件事先止血· 增大年轻代如堆16G时将 -Xmn 从4G调到8G减少 YGC 频率给对象分配腾出更多空间。· 切换 GC 器从 CMS 切到 G1并设置 -XX:MaxGCPauseMillis50。G1 能自动处理大对象Humongous Region避免大对象直接晋升老年代。第五步根因治理代码层面当 Dump 分析锁定根因后我会从代码层面进行治理。比如如果是某个 SQL 查询导致的大对象我会改为分批次查询避免 ResultSet 一次性拉取全部数据到内存。
延伸阅读

更多相关文章

2026/10/20 3:37:58

Oracle字符集四层查询与乱码根因诊断

1. 为什么查Oracle字符集这件事,比你想象中更关键刚接手一个老系统迁移项目,开发同事发来截图:前端页面显示一堆问号,导出Excel全是乱码,连SQL*Plus里执行SELECT都出现方框。排查两小时后发现,源头竟然是数…

2026/10/17 4:01:15

找pcb快板生产厂家,到底看什么?

——一名猎板工程师的快板制造手记 “我们遇到的困难,正是我们拥有的机遇。” ——阿尔伯特爱因斯坦 你问我,什么是快板? 那快板, 究竟能快到何种地步? 是一天的时间吗? 还是两天的时长? 又或者仅仅只是相较于常规交期而言, 缩短了三分之一…

2026/10/20 3:36:13

医疗辅助系统对接HIS集成平台:POLOAPI五步落地路径与避坑指南

做医疗信息化系统对接这些年,我最深的感受是:辅助系统的技术复杂度往往不高,真正让人头疼的是“落地”两个字。挂号提醒、检查报告推送、随访管理、患者满意度调查这些功能,单拎出来都不难写,难的是它们都要跟医院现有…

2026/10/20 3:36:12

从“测试一下”开始:博文写作的全链路质检与数据复盘

很多时候,一篇博文的起点并不是什么惊天动地的选题,而是像我现在这样,新建一个空白文档,随手敲下四个字:测试一下博文。这个动作看起来随意,但如果你真想认真做内容,这四个字背后其实藏着一整条…

2026/10/20 3:36:12

STM32F103无源蜂鸣器PWM音乐播放:从定时器配置到乐谱驱动全解析

简介:使用STM32F103控制无源蜂鸣器发声播放音乐的完整工程,面向嵌入式入门开发者与STM32爱好者,解决通过定时器精确延时或PWM输出驱动蜂鸣器按音调播放乐曲的需求。工程内置《红海情歌》与《生日快乐》两首曲目,音符与节拍以时间参…

2026/10/20 3:31:12

知识工作插件怎么选:分层框架与三大选型标准

1. 先搞清楚:知识工作插件到底在补哪块短板很多人一听到"知识工作插件"这个词,第一反应是往浏览器里装一堆小工具,或者给编辑器配上各种扩展,觉得只要装得够多,自己的信息处理能力就能跟着提升。我在这个方向…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑