有时候我们会去查找linux上java占用资源较多的线程, 这时候我们可以通过以下几步,定位问题
1,top 命令动态的展示占用前几的PID, CPU消耗, TIME, RES 等信息,然后找到CPU占用最高的PID;
2 , top -Hp 27392(pid) 显示PID进程消耗的线程各个情况。着到一个认为TIME最长的线程的PID;
3 , printf "%x\n" 27235 得到27235的十六进制值为6a63,下面会用到;
4 , 利用jstack工具定位问题的原因 ./jstatck -l 进程PID | grep (6a63)线程PID的十六进制值 -A 50(关键字后的50行代码)
本文介绍了一种在Linux环境下排查Java进程中资源占用较高的线程的方法。具体步骤包括使用top命令找到CPU占用率高的进程,进一步查看该进程内部线程的资源消耗情况,并通过jstack工具定位具体的问题线程。
1258

被折叠的 条评论
为什么被折叠?



