查看java进程占用cpu过高
之前平台出现过一次java进程占用cpu 100%的问题,发现后排查的几率如下:
使用top查找哪个继承占用cpu过高 记录下进程如:14492
把进程的栈dump到文件里,以便后面的分析
1
jstack 14492 > cpu0401.log
看看这个进程里面哪些线程在占用cpu
1
top -p 14492 -H # 选择占用最高的 PID=5159
接着要看刚才dump出来的cpu日志了,里面会有14492这个进程下面每个线程的栈信息,但是是十六进制显示的,所以先把5159转换成16进制
1
printf %0x 5159 # 1427
在cpu日志里找PID=1427的线程
1
vim cpu0401.log