学习
实践
活动
专区
工具
TVP
写文章
专栏首页 ops技术分享 CPU使用率--进程排查
3 0

海报分享

原创

CPU使用率--进程排查

二.找不到进程

1.总使用率高,但进程使用率很低,6个进程,但nginx和php-fpm均是sleep,stress才是运行的进程。

2.查看stress进程,发现不存在,进程关闭后又启动了一个新的,说明一直在关闭启动 pidstat -p 24344

第一个原因,进程在不停地崩溃重启,比如因为段错误、配置错误等等,这时,进程在退出后可能又被监控系统自动重启了。

第二个原因,这些进程都是短时进程,也就是exec 调用的外面命令。这些命令一般都只运行很短的时间就会结束,你很难用top 这种间隔时间比较长的工具发现。

3.查看相应进程,找到父进程 pstree | grep stress

可以看到是php-fpm的子进程

4.查看php源码 grep stress -r index.php

5.记录性能事件,等待大约 15 秒后按 Ctrl+C 退出 perf record -g

6.查看报告 perf report

stress占用77%使用,主要函数是random函数,查看源码,分析并改善函数。