新手问个关于进程的问题

-编译-人生- 2012-11-09 04:12:12
前几天遇到个问题
发现公司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
...全文
328 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiltonZhong 2012-11-27
  • 打赏
  • 举报
回复
将PHP-CGI进程总数调小一点试试,先看看你的PHP-CGI进程数够不够用
-编译-人生- 2012-11-20
  • 打赏
  • 举报
回复
引用 12 楼 hnwyllmm 的回复:
引用 11 楼 forest_boy 的回复:引用 9 楼 hnwyllmm 的回复:楼主试试最笨但有效的二分查找法吧 屏蔽一部分运行另一部分,来定位问题 不可能,这个网站是上线运行的网站,不可以停。 好吧,我没招了
-编译-人生- 2012-11-13
  • 打赏
  • 举报
回复
引用 9 楼 hnwyllmm 的回复:
楼主试试最笨但有效的二分查找法吧 屏蔽一部分运行另一部分,来定位问题
不可能,这个网站是上线运行的网站,不可以停。
huarc 2012-11-13
  • 打赏
  • 举报
回复
php有一个参数不冶本的参数:max_exec_time
羽飞 2012-11-13
  • 打赏
  • 举报
回复
引用 11 楼 forest_boy 的回复:
引用 9 楼 hnwyllmm 的回复:楼主试试最笨但有效的二分查找法吧 屏蔽一部分运行另一部分,来定位问题 不可能,这个网站是上线运行的网站,不可以停。
好吧,我没招了
羽飞 2012-11-13
  • 打赏
  • 举报
回复
楼主试试最笨但有效的二分查找法吧 屏蔽一部分运行另一部分,来定位问题
Rotel-刘志东 2012-11-12
  • 打赏
  • 举报
回复
进程不能具体做哪些操作的具体分析一下日志文件。
louyong0571 2012-11-12
  • 打赏
  • 举报
回复
引用 6 楼 forest_boy 的回复:
引用 3 楼 louyong0571 的回复:代码里多加点log打印看看吧 代码很多,现在根本不知道是哪些代码出了问题。 问题出现的随机性很高。大部分代码是以前遗留的。甚至有几年前的代码。开发人员已经换了好几批了。 加log不太现实,几个G的PHP代码。根本不知道要加哪。
PHP不太熟啊,不知道可以搞成debug版,gdb attach到特定的进程去调试,呵呵
-编译-人生- 2012-11-12
  • 打赏
  • 举报
回复
引用 3 楼 louyong0571 的回复:
代码里多加点log打印看看吧
代码很多,现在根本不知道是哪些代码出了问题。 问题出现的随机性很高。大部分代码是以前遗留的。甚至有几年前的代码。开发人员已经换了好几批了。 加log不太现实,几个G的PHP代码。根本不知道要加哪。
-编译-人生- 2012-11-12
  • 打赏
  • 举报
回复
引用 2 楼 qq120848369 的回复:
cgi or fcgi? php打一下日志记录一下处理时间? php一直不返回,apache的插件回调机制会一直loop询问插件状态,CPU高很正常.
代码很多,现在根本不知道是哪些代码出了问题。 问题出现的随机性很高。大部分代码是以前遗留的。甚至有几年前的代码。开发人员已经换了好几批了。 加log不太现实,几个G的PHP代码。根本不知道要加哪。
-编译-人生- 2012-11-12
  • 打赏
  • 举报
回复
引用 1 楼 smstong 的回复:
试试strace -e "trace=file" -p 进程号,看看进程读取那些php文件。
试了一下 [root@web01 ~]# strace -e "trace=file" -p 30500 Process 30500 attached - interrupt to quit
louyong0571 2012-11-10
  • 打赏
  • 举报
回复
代码里多加点log打印看看吧
qq120848369 2012-11-10
  • 打赏
  • 举报
回复
cgi or fcgi? php打一下日志记录一下处理时间? php一直不返回,apache的插件回调机制会一直loop询问插件状态,CPU高很正常.
smstong 2012-11-09
  • 打赏
  • 举报
回复
试试strace -e "trace=file" -p 进程号,看看进程读取那些php文件。

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧