怎么在linux下排查tomcat服务器占用CPU过高?

通过top命令发现进程 PA 占用CPU过多,于是需要找出PA占用高的原因。
首先,找到PA的进程ID:

ps -ef | grep PA 

如进程ID为 1081,再查看进程ID找到占用高的线程ID:

top -Hp 1081

再根据线程ID找到具体堆栈信息
线程ID转化为16进制(TID):

printf "%x\n" TID

JVM堆栈中查找线程信息:

#TID为线程ID,PID为进程ID,A100为线程转为的16进制后的值
jstack PID | grep TID -A100

然后确认较多线程在执行的接口,并排查具体性能问题。



我的回答