不断增加的内存使用情况由PHP的FMP?

似乎php-fpm正在分配越来越多的内存,虽然峰值和下降的请求量。 无法发布多个图片,所以我把它们放在这里 。

正如你可以看到在图片的uri中,一个图片nginx请求,显示明显的下跌和高峰。 其他的,每个孩子的php-fpm记忆和平均记忆似乎并没有遵循相同的模式。 只有重新启动php-fpm才能起作用,即使如此,我也不能说我注意到了性能的任何变化。
系统是好的,响应时间是好的,一切都很好,只是好奇,如果这是预期的行为,并且如果它有性能好处或应该避免(通过降低max_requests什么?)。

系统运行Debian GNU / Linux 6.0 Squeeze,AMD64。 PHP版本5.3.6。 PHP 5.3.6

pool.d / www.conf:

 pm.max_children = 50
 pm.start_servers = 30
 pm.min_spare_servers = 5
 pm.max_spare_servers = 35
 pm.max_requests = 1024

我已经得到了这些在php-fpm.log,因为它是新鲜安装的:

 [28-Jun-2011 14:45:39]警告:[池www]孩子1893年从信号9(SIGKILL)退出后从22296.217811秒开始
 [28-Jun-2011 14:45:39]通知:[池www]孩子18391开始
 [28-Jun-2011 14:45:39]警告:[池www]子1903从信号9(SIGKILL)退出后从22296.213677秒
 [28-Jun-2011 14:45:39]通知:[池www]孩子18392开始
 [28-Jun-2011 14:45:39]警告:在启动22296.213757秒后[pool www]子1904在信号9(SIGKILL)上退出
 [28-Jun-2011 14:45:39]通知:[池www] 18393孩子开始
 [28-Jun-2011 14:45:39]警告:在启动22296.214307秒后[pool www]子1905在信号9(SIGKILL)上退出
 [28-Jun-2011 14:46:20]注意:fpm正在运行,pid 18410
 [28-Jun-2011 14:46:20]注意:准备处理连接
 [28-Jun-2011 15:10:04]通知:终止...
 [28-Jun-2011 15:10:04] NOTICE:退出,再见!
 [28-Jun-2011 15:10:04]通知:fpm正在运行,1742年
 [28-Jun-2011 15:10:04]注意:准备处理连接
 [28-Jun-2011 15:10:22]通知:终止...
 [28-Jun-2011 15:10:22] NOTICE:退出,再见!
 [28-Jun-2011 15:10:22]通知:fpm正在运行,pid 2016
 [28-Jun-2011 15:10:22]注意:准备处理连接
 [28-Jun-2011 15:28:04]通知:终止...

一些想法:

  1. 降低你的FPM设置,然后根据需要增加:

    pm.max_children = 10 # concurrent children's pm.start_servers = 2 pm.min_spare_servers = 2 pm.max_spare_servers = 4 pm.max_requests = 300 # till restart 

  2. 降低nginx settigns。

  3. 安装pecl-apc (Debian包是php5-apc )。

  4. 更新你的php / nginx版本到最新的stable

什么是您的服务器规格?

检查你有多less内存(也许停止php-fpm来计算这个)以及一个php-fpm进程通常需要多less内存(看看top或者ps )然后设置pm.max_children = available RAM / php -fpm进程内存,否则你会用完内存。