如何定位java导致CPU过高的问题
【命令概略】
1、查看占用cpu过高的进程号
top
2、根据进程号查看相关程序
ps -ef|grep $进程号|grep -v grep
ps -ef|grep 18189|grep -v grep
3、定位具体程序线程号
ps -mp $进程号 -o THREAD,tid,time
ps -mp 18189 -o THREAD,tid,time
4、将线程编号转为16进制
18190->470E->470e
5、定位具体程序代码
jstack $进程号|grep $线程号(16进制) -A60
jstack 18189|grep 470e -A60
【详细说明】
1、查看占用cpu过高的进程号
top
2、根据进程号查看相关程序
ps -ef|grep $进程号|grep -v grep
ps -ef|grep 18189|grep -v grep
3、定位具体程序线程号
ps -mp $进程号 -o THREAD,tid,time
ps -mp 18189 -o THREAD,tid,time
相关参数说明:
4、将线程编号转为16进制
18190->470E->470e
5、定位具体程序代码
jstack $进程号|grep $线程号(16进制) -A60
jstack 18189|grep 470e -A60