先用top命令找出CPU占比最高的
top
CPU占用最高的是java进程,它的 进程ID:3362
ps -ef 或者 jps 进一步定位,得知是怎样的程序
[root@192 ~] ps -ef | grep 3362 | grep -v grep
root 3362 2340 42 21:47 pts/0 00:02:30 java HelloWorldApp
定位到具体的线程或者代码
ps -mp 3362 -o THREAD,tid,time
如图所示,引起CPU过高的 线程ID:3363
将线程ID转换为16进制格式(英文小写)
3365 转换为16进制结果:d23
jstack
格式:jstack 进程ID | grep tid(16进制小写) -A60
jstack 3362 | grep d23 -A60
这样,就能找出具体的异常代码位置