当前位置: 技术问答>linux和unix
新手问个关于进程的问题
来源: 互联网 发布时间:2017-03-24
本文导语: 前几天遇到个问题 发现公司apache服务器里面有几个进程CPU占用率一直居高不下。 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7564 web 18 0 616m 64m 5596 S 200.2 0.8 2643:...
前几天遇到个问题
发现公司apache服务器里面有几个进程CPU占用率一直居高不下。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7564 web 18 0 616m 64m 5596 S 200.2 0.8 2643:02 httpd
13477 web 18 0 687m 72m 5152 S 200.2 0.9 2642:50 httpd
7266 web 18 0 626m 65m 5188 S 199.9 0.8 2642:54 httpd
网站是用php做的。我想应该是有部分PHP代码出了问题,但是又找不到。
有没有什么方法,类似于通过进程ID找到是哪部分PHP代码出了问题。
系统为centos+apache+php+mysql
发现公司apache服务器里面有几个进程CPU占用率一直居高不下。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7564 web 18 0 616m 64m 5596 S 200.2 0.8 2643:02 httpd
13477 web 18 0 687m 72m 5152 S 200.2 0.9 2642:50 httpd
7266 web 18 0 626m 65m 5188 S 199.9 0.8 2642:54 httpd
网站是用php做的。我想应该是有部分PHP代码出了问题,但是又找不到。
有没有什么方法,类似于通过进程ID找到是哪部分PHP代码出了问题。
系统为centos+apache+php+mysql
|
试试strace -e "trace=file" -p 进程号,看看进程读取那些php文件。
|
cgi or fcgi?
php打一下日志记录一下处理时间?
php一直不返回,apache的插件回调机制会一直loop询问插件状态,CPU高很正常.
php打一下日志记录一下处理时间?
php一直不返回,apache的插件回调机制会一直loop询问插件状态,CPU高很正常.
|
代码里多加点log打印看看吧
|
PHP不太熟啊,不知道可以搞成debug版,gdb attach到特定的进程去调试,呵呵
|
进程不能具体做哪些操作的具体分析一下日志文件。
|
楼主试试最笨但有效的二分查找法吧
屏蔽一部分运行另一部分,来定位问题
屏蔽一部分运行另一部分,来定位问题
|
php有一个参数不冶本的参数:max_exec_time
|
好吧,我没招了
|
将PHP-CGI进程总数调小一点试试,先看看你的PHP-CGI进程数够不够用