JAVA 线上故障排查完整套路,从
CPU、磁盘、内存、网络、GC 一条龙!
一般来讲我们首先会排查cpu方面的问题。cpu异常往往还是比较好定位的
。原因包括业务逻辑问题(死循环)、频繁gc以及上下文切换过多。而最常见
的往往是业务逻辑(或者框架逻辑)导致的,可以使用jstack来分析对应的堆
栈情况。
使用jstack分析cpu问题
我们先用ps命令找到对应进程的pid(如果你有好几个目标进程,可以先用t
op看一下哪个占用比较高)。
接着用top -H -p pid来找到cpu使用率比较高的一些线程
然后将占用最高的pid转换为16进制printf '%x\n' pid得到nid