首先使用top命令查看进程占用的cpu的使用情况,找到占用cpu较高的进程id,可以通过ps aux | grep PID 命令,可以进一步确定是哪个进程出现了问题,然后使用
ps -mp 进程id -o THREAD,tid,time
查看占用cpu资源较高的进程里面线程的资源占用情况,找到耗时最高的线程TID,并使用
printf "%x\n" 线程id
将其线程ID转换为16进制格式,并使用
jstack 进程id |grep 十六进制的线程id -A 30
打印线程的堆栈信息,从堆栈中找出问题。