线上问题定位
老李 Lv4

线上 java 进程问题

cpu 占用过高

1. 使用 top 查出 cpu 占用高的进程

1
top -c

2. 使用 top 找出占用 cpu 过高的线程

1
top -c -H -p pid

3. 使用 jstack 获取进程堆栈信息

1
jstack pid > jstack.log

4. 计算占用 cpu 过高的线程 id 对应的十六进制

1
printf "0x%x\n" thread_id

5. 从进程堆栈信息中查找占用 cpu 过高的线程信息

1
grep -A 10 0xxxxx jstack.log