1、使用top命令定位异常进程。可以看见11268的CPU和内存占用率都非常高
此时可以再执行ps -ef | grep java,查看所有的java进程,在结果中找到进程号为11268的进程,即可查看是哪个应用占用的该进程。
top
ps -ef|grep java
2、使用top -H -p 进程号查看异常线程,
top -H -p 11268
3、使用printf "%x\n" 线程号将异常线程号转化为16进制
printf "%x\n" 11422
2c9e
4、使用jstack 进程号|grep 16进制异常线程号 -A90来定位异常代码的位置(-A90是指输出的日志行数)。可以看到异常代码的位置。
jstack 11268|grep 2c9e -A90
5、应用调用失败的话,紧急处理的话,可以杀掉该进程,然后重启
kill -9 11268