以root用户执行以下命令,以PID 5423举例:
1,根据top命令,找到占用CPU高的进程,找到PID
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5423 root 20 0 8892 1284 856 R 0 0.0 0:00.04 top
2,找到该进程后,执行如下命令获取线程列表,并按照CPU占用高的线程排序:
[root@xxxx]# ps -mp 5423 -o THREAD,tid,time | sort -rn
显示结果如下(举例):
USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME
root 10.5 19 - - - - 3626 00:12:48
root 10.1 19 - - - - 3593 00:12:16
找到了耗时最高的线程3626,占用CPU时间有12分钟了!
3,将需要的线程ID转换为16进制格式:
[root@localhost logs]# printf "%x\n" 3626
e18
4,最后打印线程的堆栈信息:
[root@xxxx]# sudo -u 启动用户名 jstack 5423 >stack.log
找出进程中各线程cpu消耗情况
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:mq安装参考

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章