Linux下排查JVM的CPU偏高问题

问题描述:近期发现生产环境一组服务器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队列有问题了,具体原因细看代码。




猜你喜欢

转载自xphwv.iteye.com/blog/2305515