分析系统gc是否健康的大概思路
- 机器的配置,内存多少G
- jvm 参数设置: 堆大小,年轻代、老年代比例 等 收集器用的是什么 => 知道什么内存水位和时机会发生 minor gc 和 full gc
- 观察 gc 概况: minor gc 的频率和耗时, full gc的频率和耗时 重点关注 stw 和 fullgc
- 再细看 gc 情况
a. 每次minor gc发生前后年轻代内存的变化,survivor区存活对象有多少
b. 有没有对象晋升到老年代, 有的话 晋升的原因是什么? 满16周岁了? 动态年龄判断 超过survivor 50%了? 还是存活对象太多导致 survivor 直接放不下了?
c. 是否有大对象 直接进入老年代
minor gc 前,老年代空闲空间是否足够?会不会因为 分配担保 导致提前 full gc
本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14553128.html