1、先用top命令找出有问题的进程,如果是Java程序有问题进行后续步骤
2、ps -ef或者jps进一步定位,得知哪一个后台程序
- jps -l
- ps -ef | grep java | grep -v grep
3、定位到具体线程或者代码
ps -mp 进程编号 -o Thread,tid,time(-m:显示所有的线程、-p:pid 进程使用cpu的时间、-o:该参数后是用户自定义格式)
4、将需要的线程ID转换为16禁止格式(英文小写格式)
printf "%x " 线程ID
5、jstack 进程Id | grep tid(16进制线程id小写英文) -A60
查看运行轨迹,堆栈异常信息