當Linux系統中的PHP-FPM資源占用過高時,可以采取以下措施進行排查和解決:
/etc/php/{版本號}/fpm/pool.d/www.conf
或 /etc/php-fpm.d/www.conf
。pm.max_children
:設置最大子進程數。根據服務器的內存和應用程序的需求進行調整。pm.start_servers
:設置啟動時的子進程數??梢愿鶕掌鞯膬却婧蛻贸绦虻男枨筮M行調整。pm.min_spare_servers
和 pm.max_spare_servers
:設置空閑進程的最小和最大數量。根據服務器的負載進行調整。pm.max_requests_per_child
:設置每個子進程在被終止之前可以處理的請求數。這有助于防止內存泄漏。memory_limit
:在 php.ini
文件中設置,以限制腳本可以使用的最大內存。top
, htop
, glances
)定期檢查服務器的資源使用情況。ondemand
模式而不是默認的 dynamic
模式,以降低系統的負載和內存消耗。sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
來釋放內存。通過上述步驟,可以有效降低PHP-FPM的內存使用,提高服務器的性能。在調整配置時,建議根據實際服務器的硬件資源和應用需求進行合理設置。