某一天系统监控一直报CPU飙升到75%以上
这是什么情况??赶紧top看看
jps看看什么鬼进程占用这么大CPU,我擦,原来是我们主应用
再详细看看 top -Hp
嗯?5474、5475、5476、5477四个线程这么整齐的消耗CPU?
把栈信息写到文件看看:jstack 5147 >> jastack.txt
栈信息记录的是16进程的线程号,所以要把线程号转为16进制再去查
printf "%x\n" 5474
再less jastack.txt
大写G跳到末尾,输入?1562向上搜索
发现线程状态是BLOCKED,获取redis连接的时候阻塞住了
按B往上翻页,嗯?其他几个线程也在,都是获取redis连接时候阻塞了
用工具连接下redis看看,诶?认证失败?擦,谁把redis密码改了!!!群里吼起来,要到密码,改为应用配置的密码,问题解决