Limite el uso total de memoria de PHP-FPM

Limite el uso total de memoria de PHP-FPM

Estoy ejecutando PHP-FPM en mis servidores Debian. Mi pregunta es sobre el uso de la memoria. Solo puedo configurar el límite de memoria dentro de PHP, y eso no debería ser demasiado bajo para algunas solicitudes. También solo puedo configurar la cantidad de procesos en PHP-FPM y eso, además, no debería ser demasiado bajo ya que estoy ejecutando muchas solicitudes de PHP.

En la mayoría de los casos, los procesos sólo utilizarán entre 2 y 20 MB. El límite de proceso es 512, por lo que son aproximadamente entre 5 y 10 GB de RAM. Pero dado que algunos scripts php pueden usar mucha más memoria, la memoria máxima permitida es de alrededor de 1 TB (512 procesos * 2048 MB). Y si algo sale mal, Debian OOM Killer simplemente eliminará procesos aleatoriamente.

¿Hay alguna forma de limitar el uso total de memoria para php-fpm? Como un límite estricto donde php-fpm no generará más procesos porque está fuera de la RAM total.

Respuesta1

Hace unos días tuve un problema similar, cuando un par de maestros php5-fpm generaron demasiados procesos. OOM Killer ayudó mucho al eliminar nginx.

Como solución encontrégrupo cmecanismo consubsistema de memoria. Permite colocar todos los procesos FPM en 1 grupo que está limitado, por ejemplo, al 60% de la RAM del sistema.

Gran documentación: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch-Using_Control_Groups.html

información relacionada