使用版本 springcloud 2021.1 ; springboot2.4.2 ; nacos2.0.3 ; springboot client 1.4.1 模式:3台nacos集群搭建方式(每台4核8GB配置硬件配置,nacos配置6G JVM) 应用领域:工业互联网(线上生产环境) 线上内存溢出假死,三台master的那一台一段时间后会内存爆满,然后fullgc后,集群自动换了master节点,求助官方怎么解决!
Q
[alibaba/nacos]java.lang.ref.Finalizer内存溢出
1
A
回答
2
看dump的内存图,是spring boot的class loader引用了对应的内容, 可能需要你看下环境是否有问题,导致了spring boot一直重复加载class导致。
或者升级版本后再尝试看看
3
之前截图截不好,这个肯定不是spring boot的class loader,这两天又观察了下,跟master解决没有关系,老年待很容易慢,会持续3天的yonggc,最后一个次fullgc /// 针对这个我这边如果升级代价比较大,如何处理比较好,源码哪个地方可以解决java.lang.ref.Finalizer
6
当前信息不足以判断是哪里引用了这个, 同时我这边所有环境都无法复现这个问题。 需要你根据环境再排查一下,找到引用起始。
0
您这边可以按我前面发的情况进行模拟复现下嘛,用gateway把请求打到1分钟100次请求应该就能浮现
7
大佬,按我们现在的那个服务组件的组合方式,我们怎么样调整比较好,nacos换哪个版本比较稳!
6
我们压测1s 1w tps都试过, 没有这个Finilizer的内存问题。
还是说这个dump的是你们自己的gateway的内存?如果是gateway的内存,那可能你提交错社区了。