[转]避免PHP-FPM内存泄漏导致内存耗尽

对于PHP-FPM多进程的模式,想要避免内存泄漏问题很简单,就是要让PHP-CGI在处理一定数量进程后退出即可。

否则PHP程序或第三方模块(如Imagemagick扩展)导致的内存泄漏问题会导致内存耗尽或不足。

php-fpm.conf中有相关配置

  1. #请自行按需求配置
  2. pm.max_requests = 1024

实际上还有另一个跟它有关联的值max_children,这个是每次php-fpm会建立多少个进程,这样实际上的内存消耗是max_children*max_requests*每个请求使用内存。

另外一些粗暴的方法包括建立cron kill掉占用内存过多的php-cgi,这里不再介绍。

如果PHP-FPM能够提供配置子进程内存超过指定大小就被kill,那就省事多了...

转载请注明地址: http://www.phpddt.com/php/avoid-phpfpm-memory.html尊重他人劳动成果就是尊重自己!