一、排查方案与思路
1.一般我们查看 CPU 的使用情况,可以使用 TOP
命令:
top
执行结果如下所示,这里就可以按照 CPU 使用率进行排序。
2.通过 top 命令查看后,可以查看是哪一个 Java 进程占用 CPU 较高,上图所示的进程为:2266,CPU 的使用率是 90%,也就是接近占用了 1核的 CPU。
接下来,我们就需要定位到项目中具体是哪一行代码导致的这个问题。我们项目中这么多代码,该怎么排查呢?其实我们项目中的代码虽然多,但都是在线程中运行的,我们只需要找到对应的线程就能去定位这个问题了。
获取当前进程中的线程,我们可以使用如下命令:
ps H -eo pid,tid,%cpu | grep <pid>
执行结果如下所示: