Java线上问题排查步骤
1、线上Java项目CPU使用突然百分之百或持续偏高,怎么排查?
【Java线上问题排查步骤】在平时开发维护项目过程中,如果出现线上服务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、定位是哪一行代码的问题
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- parallels|parallels desktop 解决网络初始化失败问题
- jhipster|jhipster 升级无效问题
- “精神病患者”的角度问题
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- java中如何实现重建二叉树
- Hive常见问题汇总
- 数组常用方法一