“堆内存持续占用高 且 ygc回收效果不佳” 排查处理实践
💡
原文中文,约8400字,阅读约需20分钟。
📝
内容提要
作者王江波提出了内存占用高触发报警的问题,并提出了解锁实验参数、禁用显示调用Full gc、gc日志指标、最大线程数、内存分析等优化策略,以及jstack等工具的使用,以及使用jstat、jmap-histo、jmqp-heap、jmqp-dump等工具,分析gc日志,调整参数,增大元空间,使用CMS & PNEW等方案,以及临时方案以观后效,以解决内存占用高问题。
🎯
关键要点
- 内存占用高触发报警的问题背景
- 堆内存使用情况描述,young gc频繁且效果不佳
- 容器配置的关键信息,包括操作系统、JRE版本、JVM启动参数等
- young gc的触发时机及原因分析
- full gc的触发时机及原因分析
- 不同类型的垃圾回收器及其特点
- 优化策略包括增加gc日志、调整gc参数、内存分析工具的使用
- 使用jstack、jstat、jmap等工具进行内存分析
- 临时方案以观后效,降低对象大小
- 增大元空间及使用CMS与PNEW的组合方案
➡️