Lösen Sie das Problem, dass der PHP-FPM-Prozess keinen Speicher freigibt
durch Reduzierung von PHP - Die Gesamtzahl der FPM-Prozesse kann verwendet werden, um die Speichernutzung von PHP-FPM zu reduzieren. Bei der tatsächlichen Verwendung wurde festgestellt, dass der PHP-FPM-Prozess immer noch das Problem der Langzeitspeicherbelegung aufweist, ohne ihn freizugeben. Die Lösung besteht darin, die Anzahl der pm.max_requests zu reduzieren. (Empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)
Maximale Anzahl von Anfragen max_requests, das heißt, wenn sich die Anzahl der von einem PHP-CGI-Prozess verarbeiteten Anfragen auf max_requests summiert , es wird automatisch neu gestartet. Dieser Prozess erfüllt den Zweck, Speicher freizugeben. Nehmen Sie als Beispiel die VPS-Host-Einstellung von 1 GB Speicher (wenn der von Ihnen festgelegte Wert den von pm.max_requests festgelegten Wert nicht erreicht, können Sie ihn weiter verringern):
pm.max_requests = 500
Wenn der PHP-FPM-Prozess erreicht Wenn Sie den durch pm.max_requests festgelegten Wert verwenden, wird der Prozess neu gestartet und dadurch Speicher freigegeben. Das Bild unten ist das Ergebnis nach meinem Test. Es ist zu erkennen, dass der PHP-FPM-Prozess zwangsweise beendet wurde und der Speicher freigegeben wurde.
Für große Speicher- und Parallelitäts- und Verfügbarkeitsanforderungen wird empfohlen, den statischen Verwaltungsmodus + den größten pm.max_children zu verwenden. Wenn es sich um einen Server mit kleinem Speicher handelt, wird empfohlen, den dynamischen oder On-Demand-Modus zu verwenden und die Anzahl der Prozesse pm.start_servers und pm.max_spare_servers zu reduzieren.
Das obige ist der detaillierte Inhalt vonDer PHP-Prozess gibt keinen Speicher frei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!