Java进程100%CPU问题解决思路

705 阅读1分钟

在线上很容易出现java的cpu占用100%的问题,导致的情况可能是一直100%而使应用崩溃,或者很快CPU就降低使问题不容易定位,一般在这种线上CPU问题时,可以通过以下方式进行定位问题所在。

找出CPU占用最高的进程PID

top

找出占用高的线程tid

top -H -p PID

将线程号转成16进制

printf "%x\n" tid

生成此线程当前的线程文件

jstack 6007> /tmp/6007.stack
vim /tmp/6007.stack
/179d

根据线程文件中的问题描述定位代码