lighttpd + php-cgi:如果 php 文件有语法错误,内存会疯狂增加

lighttpd + php-cgi:如果 php 文件有语法错误,内存会疯狂增加

我使用lighttpd作为网络服务器,并且模块mod_fastcgi已打开。因此我可以php file使用进行获取lighttpd

这是我的配置文件的一部分。

fastcgi.server =(
  ".php"=>
  (
    (
       "bin-path" => "/usr/local/webserver/php/bin/php-cgi",
       "socket" => "/data/online/webim/socket/php-fcgi.socket",
       "min-procs" => 100,
       "max-procs" => 100,
       "check-local" => "disable",
       "bin-environment" => (
         "PHP_FCGI_CHILDREN" => "10",
         "PHP_FCGI_MAX_REQUESTS" => "1000"
       ),
       "bin-copy-environment" => (
         "PATH", "SHELL", "USER"
       ),
       "broken-scriptfilename" => "enable"
    )
  )
)

有一次,我犯了一个错误。syntax error留在 php 文件中。然后我向 Web 服务器发送许多 (10000) 个请求。很快,php-cgi 使用的内存开始增加increase crazily

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
26829 www       16   0  290m 114m 105m S    0  1.9   0:16.82 php-cgi
25410 www       15   0  287m 112m 105m S    0  1.9   0:17.71 php-cgi
30137 www       16   0  290m 112m 102m S    0  1.8   0:15.38 php-cgi
31099 www       21   0  288m 111m 103m S    0  1.8   0:16.77 php-cgi
30327 www       20   0  287m 110m 103m S    0  1.8   0:22.50 php-cgi
25291 www       16   0  288m 109m 101m S    0  1.8   0:18.26 php-cgi
25413 www       15   0  286m 108m 102m S    0  1.8   0:16.34 php-cgi
30136 www       16   0  288m 108m 101m S    0  1.8   0:15.75 php-cgi
25283 www       18   0  288m 108m 101m S    0  1.8   0:16.29 php-cgi

单个进程就有100MB+内存..而且内存不断增加,机器变得越来越慢......

那么为什么会发生这种情况?为什么内存会增加?欢迎任何答案、建议或链接。谢谢~

相关内容