php-fpm佔用記憶體太大的解決方法:將pm.min_spare_servers和pm.max_spare_servers設定在合理範圍,確保進程數會不斷變動即可。
本文操作環境:windows10系統、PHP7、thinkpad t480電腦。
解決php-fpm佔用記憶體過大問題的方法如下所示:
方法一:調整管理模式
static管理模式適合比較大記憶體的伺服器,而dynamic則適合小記憶體的伺服器,你可以設定一個pm.min_spare_servers和pm.max_spare_servers合理範圍,這樣進程數就會不斷變動。 ondemand模式則更適合微小內存,例如512MB或256MB內存,以及對可用性要求不高的環境。
方法二:減少php-fpm行程數
如果你的VPS主機的記憶體被佔用耗盡,可以檢查一下你的php-fpm行程數,依照php-fpm行程數=內存/2/30來計算,1GB內存適合的php-fpm進程數為10-20之間,具體還得根據你的PHP加載的附加組件有關係。
php-fpm配置範例
這裡以1GB記憶體的VPS配置php-fpm為演示,實際操作來看設定數值還得根據伺服器本身的效能、PHP等綜合考慮。
pm = dynamic #dynamic和ondemand适合小内存。 pm.max_children = 15 #static模式下生效,dynamic不生效。 pm.start_servers = 8 #dynamic模式下开机的进程数量。 pm.min_spare_servers = 6 #dynamic模式下最小php-fpm进程数量。 pm.max_spare_servers = 15 #dynamic模式下最大php-fpm进程数量。
推薦學習:php訓練
#以上是php-fpm佔用記憶體太大怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!