问题描述:
安全监测发现CPU占用过高,但是功能很简单,不应该这么高
排查:
top 查看进程PID 发现java和redis进程CPU占用率过高
执行 top H -p 1792
查看1792中的线程 发现前三个线程特别高
将需要的线程ID转换为16进制格式:
printf "%x\n" 1880
结果:758
打印线程的堆栈信息:jstack 1792 |grep 758 -A 30
找到其中的代码,发现是使用了缓存队列,导致与redis频繁交互,但是项目上根本用不到这个功能,所以直接在配置文件中把这块给注释掉,问题解决。