linux-问题排查
cpu占用100%
- linux服务器使用top命令查看进程,CPU占用达到100%是由进程号为30188的进程导致的

- 然后通过 top -Hp 进程号 查看该进程中具体导致CPU使用使用率达到100%的线程,如下图:

使用printf命令将当前CPU占用高的线程ID转为 16进制形式:
printf "%x\n" 30244
输出结果为7624
- 这时采用jdk自带的命令 jstack 进程号(在这里是 jstack 30188) 输出(dump)线程信息。其中的nid字段即为CPU占用高的线程,在dump文件中搜索7624,定位到出问题的线程,如下图所示:

- 最终定位到出问题的代码是在YkController文件的551行。

查看代码发现这里出现了死循环,把while改为if即可:


浙公网安备 33010602011771号