我使用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+内存..而且内存不断增加,机器变得越来越慢......
那么为什么会发生这种情况?为什么内存会增加?欢迎任何答案、建议或链接。谢谢~