不尊重FcgidMaxProcesses

我正在使用FastCGI(fcgi)。 我有一个问题,更多的PHP进程正在产生比应该是,这是吃我的RAM。

我正在使用WHM,所以通过WHM Web界面设置了以下PHP设置> Apacheconfiguration>包含编辑器> Pre VirtualHost包括:

<IfModule mod_fcgid.c> FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 500 FcgidMaxRequestsPerProcess 500 FcgidMaxProcesses 15 FcgidMinProcessesPerClass 0 FcgidMaxProcessesPerClass 8 FcgidIdleTimeout 30 FcgidIdleScanInterval 15 FcgidProcessLifeTime 60 FcgidIOTimeout 300 FcgidMaxRequestLen 268435456 </IfModule> 

(通常这些设置会进入/usr/local/apache/conf/php.conf ,但是在更改各种设置时,这个文件被WHM覆盖,所以我不得不把它们插入到其他地方。上面的方法是在cPanel论坛中推荐的,并导致设置被包含在Apacheconfiguration中。)

然而,尽pipeFcgidMaxProcesses 15 ,我发现通过top ,高峰使用期间(也许更多),在任何给定的时间,最多可以运行45个PHP进程。 例如,这里是上个周末拍摄的屏幕截图:

顶级输出截图http://f.cl.ly/items/1H2M452J1K2p0Z231H2y/Screen%20Shot%202013-01-19%20at%207.16.44%20AM-2.png

我真的希望它最多限制在15个进程。 (尽pipe看起来我有内存空间,但实际上却是2GB + 1GB的可破解性,我通常需要将它保持在2GB以下)。

这是一个运行CentOS 6,Apache 2(Worker MPM),PHP 5.3.20(FastCGI / fcgi)和MySQL 5.5.28的Apache服务器。 2 GB RAM(3 GB突发),24个CPU。

我相信以下可能是在cPanel中解决这个问题的正确方法: http : //www.ray.45press.com/configure-mpm-apache-xcache-fcgid-in-cpanel/

特别是它需要编辑/usr/local/cpanel/cgi-sys/php5来包含以下几行:

 export PHP_FCGI_CHILDREN=1 export PHP_FCGI_MAX_REQUESTS=10000 

但请确保PHP_FCGI_MAX_REQUESTS与Apacheconfiguration中的PHP_FCGI_MAX_REQUESTS匹配。

进一步,你要注意文件中的注释,将其复制到适当的位置( /var/cpanel/conf/apache/wrappers/php5 ),以便保留在apache或php更新中。