¿Cómo liberar la memoria PHP-FPM?

Hay varias discusiones quejándose del uso de alta memoria de PHP-FPM , sin ningún enfoque práctico para superar. A medida que explora el problema con numerosas pruebas, el problema está relacionado con la edad de la edad de PHP-FPM .

Imagine que tenemos pm.max_children = 10, y tenemos un script PHP consumiendo 10M de memoria. Uno espera que necesite 100 MB de MB. Esto es correcto para los primeros 10 procesos. Después de procesar 20 scripts PHP, el uso de memoria del sistema es de 200 MB, lo que significa que la memoria consumida durante los primeros 10 procesos no se han liberado.

Esto aumentará el uso de memoria hasta llegar pm.max_requests cuando PHP-FPM procesos de PHP-FPM se restablecen.

NOTA: Esto fue sólo un ejemplo simplificado de aclaración, y no un comportamiento real. En el mundo real, esto sucede a veces. Normalmente, al final de un script PHP, la memoria consumida por PHP se liberará automáticamente. En PHP-FPM, esta memoria a sometimes (no sé cuándo) no será liberada.

Esto significa que para procesar scripts similares (usando 10MB de memoria) con

 pm.max_children = 10 pm.max_requests = 100 

No necesita 100MB o 1000MB de memoria; Pero algo en el medio. En otras palabras, las huellas de algunos previous processes PHP permanecen en los niños de PHP-FPM .

De acuerdo con esta teoría, el uso de alta memoria de PHP-FPM se superará mediante la reducción pm.max_requests , pero no es la solución definitiva, y tenemos que encontrar un enfoque para liberar los efectos de los procesos anteriores de PHP en el PHP-FPM niños. ¿Alguna idea?

One Solution collect form web for “¿Cómo liberar la memoria PHP-FPM?”

Sin saber exactamente qué tipo de aplicación está ejecutando, es difícil para nosotros decir lo que debe hacer. ¿Pero, han considerado usar el encargado del proceso del ondemand? Matará los procesos después de N tiempo, por lo tanto, mantener su memoria más libre, que la dinámica o estática que está usando probablemente.

  • PHP 5.5 en Ubuntu con php-mcrypt: Dependencias no satisdates
  • PHP 5.6 function indefinida xml_parser_create
  • Archivo PHP no interpretado por Apache en Red Hat
  • apache crash con exec en php
  • PHP.ini no se carga
  • www-data usuario no parece tener el acceso a utilizar php-curl
  • 206 Contenido parcial devuelto con Content-Length: 0
  • Nginx + Php5-fpm no procesar files php
  • Apapche + php-fpm + mysql demasiado lento en server potente
  • ¿Cuáles son mis opciones para ejecutar una versión anterior de php5 en una máquina de desarrollo Debian Jesse?
  • Habilitar la extensión PHP DOM en centOS 5.5 sin recomstackr
  • Cómo degradar PHP 5.5 a 5.4 o 5.3 en centos6
  • Obtener apache2 cargar nuevo PHP5
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.