记录一次MQ内存使用率达到最高导致用户线程阻塞的问题

周一上班检查MQ控制台时发现,首页中memory percent used使用率达到70(配置的最大为70%),从Queues的tab页看,很多消息开始堆积,使用jmap dump出堆转储快照后,重启服务。
使用MAT工具分析heap.hprof,发现其中的org.apache.activemq.broker.region.DurableTopicSubscription占了内存的约四分之一,堆积消息org.apache.activemq.command.ActiveMQTextMessage占用了内存的约二分之一。持久化订阅者主要是某T系统服务,该系统其实业务量不大,之所以消息数量剧增,是因为近期需求调整,同事处理逻辑有问题,导致非该系统业务数据也发不到了该主题,而T系统订阅者服务经常出现各种内部处理问题,导致消息堆积,并且一直无法释放,堆积到了老年代,导致MQ服务频繁进行FULL GC,耗尽了内存,阻塞了用户线程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值