《Linux系统php-cgi占用cpu百分百的解决方法.docx》由会员分享,可在线阅读,更多相关《Linux系统php-cgi占用cpu百分百的解决方法.docx(3页珍藏版)》请在第壹文秘上搜索。
1、1.inUX系统php-cgi占用cpu百分百的解决方法1.inux系统php-cgi占用cpu百分百的解决方法1.irWX系统在运用的时候,电脑变的很卡,发觉是PhP-Cgi进程在占用cpu,占用率既然达到了100%,原委是什么缘由导致这种状况的呢?下面就给大家介绍下1.inux系统php-cgi占用CPU百分百的解决方法。网站日志书目homehosts-log日志文件有对应的网站idphp-cgi日志书目usrlocalphp-fcgilogsphp-fpm.logslow.log查看日志文件基本上就可以解决问题了,网站被入侵上传了一个phpddos文件,当然假如不是此问题可以如下查看是不
2、是程序问题有时运用fiIe_get_contents函数也可能导致cpu100%0在php.ini中,有一个参数max_execution_time可以设置PHP脚本的,最大执行时间,但是,在php-cgi(php-fpm)中,该参数不会起效。真正能够限制PHP脚本最大执行时间的是php-fpm.conf配置文件中的以下参数:Thetimeout(inseconds)forservingasinglerequestafterwhichtheworkerprocesswillbeterminatedShouldbeusedwhenzmax-execution-time,inioptiondoes
3、notstopscriptexecutionforsomereasonOsmeanszoffvaluename=request_terminate_timeoutOs/value默认值为。秒,也就是说,PHP脚本会始终执行下去。这样,当全部的php-cgi进程都卡在file_get_contents()函数时,这台NginX+PHP的Webserver已经无法再处理新的PHP恳求了,Nginx将给用户返回“502BadGateWa/。修改该参数,设置一个PHP脚本最大执行时间是必要的,但是,治标不治本。例如改成valuename=reqUeSJterminatJtimeOUt30s/value
4、,假如发生file_get_contentsO获得网页内容较慢的状况,这就意味着150个phpcgi进程,每秒钟只能处理5个恳求,Webserver同样很难避开502BadGatewayw0要做到彻底解决,只能改掉干脆运用file_get_contents的习惯,而是略微修改一下,加个超时时间,用以下方式来实现GET恳求。要是觉得麻烦,可以自行将以下代码封装成一个函数。?php$ctx=stream_context_create(array(=array(,meout,=1设置一个超时时间,单位为秒);file_get_contents(:/.Iw,0,$ctx);?当然假如像dedeems生成html页面时cpu也会IO0%的状况。1.inux下php-cgi进程占用CPU百分百的解决方法就介绍到这里了,还有一种可能是中毒导致的,这就须要杀毒处理了。