springboot1.5版本 - 使用restTmplate漏洞问题

在SpringBoot 1.5.4.RELEASE和SpringCloud Dalston.SR3的系统中,由于ServoMonitorCache警告日志频繁出现,暗示内存占用过高和CPU使用率上升。分析发现,AtomicLong对象实例未被及时回收,可能由ServoMetricsAutoConfiguration配置中默认开启的spring.metrics.servo.enabled导致。解决方案是通过关闭该选项或升级SpringBoot版本,最终选择在yml配置中设置spring.metrics.servo.enabled=false来解决内存泄漏问题。
摘要由CSDN通过智能技术生成

【系统背景】

系统采用了springcloud Dalston.SR3版本, springboot为1.5.4.RELEASE版本,  进行微服务的开发及管理。

【问题现象】

应用不定期出现内存占用较高、CPU使用率高,内存占满后一直无法释放。

查询后台日志存在警告日志: WARN o.s.cloud.netflix.metrics.servo.ServoMonitorCache [57]- timerCache is above the warning threshold of 1000 with size 511487
使用jmap -histo pid 命令查看堆内存使用情况,发现大量对象实例未被及时回收(大量对象实例被创建且未及时释放掉)

 num     #instances         #bytes          class name
----------------------------------------------
   1:      10892148      261411552        java.util.concurrent.atomic.AtomicLong
   2:       4082727       108873888        [Ljava.util.concurrent.atomic.AtomicLong;

 

【逻辑调查】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值