目的
找出引出问题的代码行!日志只能报错代码,不能解决cpu过高的问题
步骤
- 先用top命令找出cpu占比最高的
确定进程PID - ps -ef或者jps进一步定位,得知是一个怎么样的一个后台程序惹事
ps -ef | grep 5101
5101 4063 36 08:25 pts/2 00:11:25 java club.eryastudio.test.Demo2
- 定位到具体线程或者代码
ps -mp 进程 -o THREAD,tid,time
其中参数解释如下:
-m 显示所有的线程
-p pid进程使用cpu的时间
-o 该参数后是用户自定义格式
ps -mp 1501 -o THREAD,tid,time
root 35.6 19 - - - - 5102 00:11:35
-
将需要的线程ID转换为16进制格式(英文小写格式)
将线程号5102转为小写16进制 13ee
-
jstack进程ID | grep(16进制线程ID小写英文) -A60
jstack 5101 | grep 13ee -A60
具体到某一行代码了
————————————————
版权声明:本文为CSDN博主「郝大侠001」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jmkmlm123456/article/details/98470854