问题描述:近期发现生产环境一组服务器CPU突然飙高,排除死循环及CPU密集型可能性。
解决过程: 1、top (top -H)查询CPU占用率较高的进程;2、ps -mp 15301 -o THREAD,tid,time|sort -rn |more 查询该进程下所有线程,倒叙排列查找CPU占有率最高的线程;
3、printf "%x\n"16226 将tid 转化为16进制格式; 4、jstack 15301 |egrep '3f62|419c|41cd' -C10|more 通过堆栈定位相关代码。 由此可知晓:LinkedTransferQueue队列有问题了,具体原因细看代码。