如何排查Linux机器 CPU利用率100%的问题

计算操作系统技术服务知识库
问题描述

如机器的CPU使用率过高(如接近100%),如何进行排查,找出使用率高的进程跟函数

问题分析

可以通过 top、ps、pidstat 等工具,来找到CPU 使用率较高(比如 100% )的进程。然后,可以使用perf来查找占用率高的函数。

解决方案

1、使用top进行查看机器占用情况,如下: 图片 我们可以发现,系统中有几个 php-fpm 进程的 CPU 使用率加起来接近 200%;而每个 CPU 的用户使用率(us)也已经超过了 99%,接近饱和。 这样,可以确认用户空间的 php-fpm 进程,导致 CPU 使用率接近饱和。 2、已经确认导致用户CPU使用率升高的进程,继续确认进程中导致CPU利用率升高的具体原因。 我们可以使用perf top,来实时显示占用 CPU 时钟最多的函数,如下:

perf top -g -p 15157

图片 根据上面信息,可以发现php-fpm,再展开 php-fpm 的调用关系,可以发现最终定位到sqrt和add_function。 这样我们找到了导致用户CPU使用率上升的原因。 如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

所属团队号:
相关资源
湖仓一体加速引擎 Bolt 及在 LAS 的应用实践
Spark、Presto等引擎原Java执行的性能优化进入瓶颈期,而基于向量化和编译优化的native引擎,可获两倍性能加速比,降低资源成本。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论