记得前几天写过一篇小博文,讲的是遇到cpu 100% 的解决过程
今天又遇到了相同的问题,解决过程却异常坎坷,详细问题这里不做详述,总是是在同一个地方被绊倒了两次,这里再重新说明下 cpu 负载高的解决流程
1、top 命令查看负载搞的进程
2、找到相应pid ps -mp pid -o THREAD,tid | sort -rn | more
查看 cpu跑高的相关线程
3、printf 命令打印tid 的16进制表示方式
4、jstack 这里针对java程序,查看程序堆栈情况
jstack pid | grep tid -A 30
这里 tid 是 16进制表示 方式
随后就去代码里找原因吧
网友评论