记一次解决MQ不消费问题

现象

  1. MQ不消费,MQ线程全部处于等待状态
  2. 项目重启之后问题解决
  3. jvm内存状态正常
  4. fullGC时间持续加长
  5. CPU 100%

原因分析

  1. 查询项目进程中所有的线程信息,查看是否有死锁
# 查看实例进程
# tomcat的话Bootstrap那个就是,springBoot项目看启动类名
jps
# 查看进程状态 产看是否有死锁
jstack pid
  1. 查看jvm状态
jmap -heap pid #查看老年代是否100%
  1. 查看gc
jstat -gcutil pid 2000 10
  1. 查看cpu
top -Hp pid

通过以上原因查询均为定位到问题所在

一次偶然的机会,发现页面做写入操作一直处于卡顿状态,于是怀疑是数据库锁表导致的,于是查询数据库锁表情况

show processlist;  
kill id;

问题得到解决

锁表加固方案
https://blog.csdn.net/fragrant_no1/article/details/79727263

你可能感兴趣的:(mysql)