首頁  >  文章  >  後端開發  >  php進程不釋放記憶體

php進程不釋放記憶體

(*-*)浩
(*-*)浩原創
2019-09-25 10:31:524264瀏覽

解決php-fpm進程不釋放記憶體問題

php進程不釋放記憶體

上透過減少php- fpm進程總數來達到減少php-fpm記憶體佔用的問題,實際使用過程中發現php-fpm進程還存長期佔用記憶體而不釋放的問題。解決的方法就是減少pm.max_requests數。 (推薦學習:PHP程式設計從入門到精通

最大請求數max_requests,即當一個PHP-CGI 進程處理的請求數累積到max_requests 個後,自動重啟該進程,這樣達到了釋放記憶體的目的了。以1GB記憶體的VPS主機設定為例(如果你設定的數值沒有達到釋放記憶體可以繼續調低):

pm.max_requests = 500

當php-fpm行程達到了pm.max_requests設定的數值後,就會重啟該進程,從而釋放記憶體。下圖是我測試後的效果,可以看出php-fpm進程被強制結束並釋放了記憶體。

php進程不釋放記憶體

對於大記憶體以及對並發和可用性要求的話,建議使用static管理模式 最大的pm.max_children。如果是小型記憶體的伺服器,建議使用dynamic或ondemand模式,同時降低pm.start_servers和pm.max_spare_servers進程數。

以上是php進程不釋放記憶體的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn