解决 php-fpm / php-cgi占用CPU过高

本人用的是lnmp0.9 ,burst vps

昨天突然网站访问不了,发现php-cgi占用CUP过高

20140415195721

估计是wordpress插件问题,具体原因还是没有找到!

网上查找了很多资料,也查看过 eAccelerator 组件,有文章说因为这个组件原因导致的

vi /usr/local/php/etc/php.ini

打开后发现这个组件没有任何配置可以排除

也有文章说可能是 可疑的PHP代码,如:file_get_contents没有设置超时时间,但是貌似我用wordpress也不知道这个代码在哪,

所以没法搞!!根据php的进程PID,用命令 ll /proc/PID/fd/  查找了一下,发现找不到调用的文件

最后搞得没办法了,直接上军哥的论坛找解决办法

http://bbs.vpser.net/thread-1654-1-1.html

修改了下面的文件参数:

打开php-fpm.conf 找到 rlimit_files 改成:65535
编辑 /etc/security/limits.conf 加上:
* soft nofile 65535
* hard nofile 65535
编辑/etc/sysctl.conf  底部添加fs.file-max=65535

echo “ulimit -SHn 65535” >> /etc/rc.local

重启lnmp

 

发现还是不能降下php进程的CPU,逼得没办法了,把PHP的版本5.2.17升级为5.3.5 ,毕竟我这里没有多少数据,备份后就升级呗!反正问题也没得到解决!升级完毕后顺道把mysql的日志清理和记录功能关闭掉!

http://www.vpser.net/manage/delete-mysql-mysql-bin-0000-logs.html

然后重启,刚开始CPU占用还是很高的,过多一会就稳定下来了!!

————————我是分割线————————-

2014-4-16 在vps上面又更新一下另一个站,安装了一个wordpress主题Nocower-Metro,问题就开始来了,php-fpm又开始占很高的CPU,网站很卡,于是又用命令 ll /proc/PID/fd/  查找了一下,发现原来/tmp/ 下有一个删除操作

网上找了一下资料,原来php进程高是由一个wordpress插件smart-video导致的,因为这个是视频文件,需要临时进行保存文件和删除操作,所以PHP-FPM的进程一直这么高

于是,果断删除这个插件!一开始进程占CPU还没降下来,但是网站还能打开,第二天即今天2014-4-17,打开SSH查看CPU使用情况,发现降下来了

由上面可以知道,如果出现进程占用CPU过高,一定用命令 命令 ll /proc/PID/fd/   去查找,找不到就多找几次