概述
很多时候,线上服务器的进程在某时间段内长时间占用CPU过高,为了优化,我们需要找出原因。
1、找出占用CPU最高的10个进程
1 |
|
或查看占用内存最高的10个进程
1 |
|
或者使用 top ,按 1 显示CPU列表,再按 shift+p 以CPU排序
1 |
|
2、对进程进行跟踪查看
查看进程打开的文件
1 |
|
查看进程在处理的文件
1 |
|
查看进程的内存使用情况
1 |
|
通过strace来跟踪进程的系统调用
1 |
|
当然我们也可以查看汇总的信息
1 |
|
如果我们想跟踪某进程所有的系统调用,并统计调用时间,并导出为文件,可用如下命令
1 |
|
3、查找php-fpm占用过高的原因
我们可以配置php-fpm的慢日志,查找是哪些文件导致php-fpm占用过高。
先找到php-fpm.conf文件位置
1 |
|
修改php-fpm.conf,并打开日志选项
1 2 3 4 5 6 7 8 9 10 |
|
注意:log 目录需要我们自已创建。
我们可以通过php-fpm的慢日志定位是哪个文件中哪行哪个方法慢,这样针对性的进行优化。
最后
以上就是过时香烟为你收集整理的查找linux下进程占用CPU过高的原因,以php-fpm为例的全部内容,希望文章能够帮你解决查找linux下进程占用CPU过高的原因,以php-fpm为例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复