Maison > Article > développement back-end > le processus php ne libère pas de mémoire
Résoudre le problème du processus php-fpm qui ne libère pas de mémoire
en réduisant php - Le nombre total de processus fpm peut être utilisé pour réduire l'utilisation de la mémoire de php-fpm. Lors de l'utilisation réelle, il a été constaté que le processus php-fpm a toujours le problème d'occuper la mémoire à long terme sans la libérer. La solution est de réduire le nombre de pm.max_requests. (Apprentissage recommandé : Programmation PHP de l'entrée à la maîtrise)
Nombre maximum de requêtes max_requests, c'est-à-dire lorsque le nombre de requêtes traitées par un processus PHP-CGI s'accumule jusqu'à max_requests , il redémarrera automatiquement. Ce processus atteint l'objectif de libérer de la mémoire. Prenons comme exemple le paramètre d'hôte VPS de 1 Go de mémoire (si la valeur que vous définissez n'atteint pas la valeur définie par pm.max_requests, vous pouvez continuer à la baisser) :
pm.max_requests = 500
Lorsque le processus php-fpm atteint la valeur définie par pm.max_requests, il redémarrera le processus, libérant ainsi de la mémoire. L'image ci-dessous est le résultat après mon test. On peut voir que le processus php-fpm a été interrompu de force et que la mémoire a été libérée.
Pour les besoins de mémoire importants et de concurrence et de disponibilité, il est recommandé d'utiliser le mode de gestion statique + le plus grand pm.max_children. S'il s'agit d'un serveur avec peu de mémoire, il est recommandé d'utiliser le mode dynamique ou à la demande et de réduire le nombre de processus pm.start_servers et pm.max_spare_servers.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!