首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

生产应用频繁fullgc分析

接下来,dump内存,这里注意一点,dump时切记让运维同学把dump的机器从集群中摘掉,否则dump时会造成JVM线程停顿,导致超时告警,影响业务。dump结果使用MAT(Eclipse Memory Analyzer)分析,具体截图就不展示了,从支配树上可以看出,某个缓存对象占用空间很大,个数非常多。从业务代码中查看,发现该对象是个本地缓存对象(Guava Cache),缓存3分钟,而且是个配置项,按照不同业务线、城市,总共才500个,每个配置项比较小,怎么会突然占用这么大空间呢?使用jstat命令查看系统的垃圾回收统计情况,发现YGC大概每10s一次,对于一个对象,即在年轻代中驻留约15*10=150s,再晋升到老年代,也就是在缓存有效期内,缓存对象足够晋升到老年代,缓存失效时,则会创新创建对象放入缓存。初步结论是:缓存过期时间过小导致对象晋升到老年代过快。

02
领券