php-cgi占用cpu 100%的故障排除方法

1、用top命令查看占用了大量CPU的进程

2、用命令ls -l /proc/进程ID/fd/查看耗时比较长的进程到底在干什么事情

3、用strace -p 进程ID 命令跟踪

4、将php-fpm.conf的超时时间设置成5s,然后超过5s的php-cgi的请求就会记录到php的慢日志中,设置如下:

XML/HTML代码
  1. <value name="request_slowlog_timeout">3s</value>  
  2. <value name="slowlog">logs/slow.log</value>  

设置完成,利用命令/usr/local/php/sbin/php-fpm restart重启php-fpm,过一会查看slow.log的内容发现如下内容:

XML/HTML代码
  1. script_filename =/htdocs/biglee.cn/test.php  
  2. [0x00007fffb060fd70] file_get_contents() /htdocs/biglee.cn/test.php:10  

这就是占用CPU的最终原因

发表评论

电子邮件地址不会被公开。 必填项已用*标注