线上排查 CPU 100% (适用于 线上的一些 java 应用)
1、确定Java应用进程编号
ps -ef | grep java
2、查看CPU较高的进程
top -c
3、查看Java应用中线程CPU占比
top -H -p 123428 命令查看指定进程下的线程cpu占用比例,分析是具体哪个线程占用率过高
4、查看线程信息
从中选择占比较高的线程的编号(PID) ,并将该PID转换为16进制 。
这里 转换16进制的方式,命令行:printf "%x\n" 123887
1e3ef
通过jstack 123887 | grep -A 10 1e3ef
到这里 基本能定位 问题是出在 哪一行代码的地方了 ,so ,fix it
然后上线!!!
专业从事搬砖多年,还是在继续搬砖中,厚积薄发~