Java线上问题排查步骤

1、线上Java项目CPU使用突然百分之百或持续偏高,怎么排查?

在平时开发维护项目过程中,如果出现线上服务cpu百分之百的情况,按照以下步骤,可以迅速定位问题,排查解决:
1、cpu问题,首先想到top命令,使用top命令,查看cpu使用率最高的或者持续cpu使用率飙升的进程,从而定位到是哪个进程的问题,得到进程的pid为xxx
2、查看此pid进程的线程,命令top -Hp xxx,查看cpu使用高的线程pid yyy
3、将pid yyy的线程号yyy转换为16进制,可使用命令printf '%x' yyy,得到此线程的16进制pid号,假设为zz,至此我们得到了造成问题的pid十六进制号
4、使用jstack xxx > x.txt命令,将pid为xxx的进程导出到x.txt文件
5、使用cat、less或vim等命令来查看x.txt文件中线程号zz(此处为上面得到的十六进制)的打印日志
6、定位是哪一行代码的问题

你可能感兴趣的