如何排查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使用率上升的原因。 如果您有其他问题,欢迎您联系火山引擎技术支持服务

1734
1
3
1
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论