在Ubuntu上優化PHP-FPM內存使用可以通過以下幾個步驟進行:
sudo nano /etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
需要替換為實際安裝的PHP版本號,比如7.4或8.0。pm.max_children
:這個參數控制進程池中允許的最大子進程數量。根據服務器的內存和預期負載進行調整。pm.start_servers
:控制啟動時將創建的子進程數量。pm.min_spare_servers
和pm.max_spare_servers
:控制空閑狀態下保持的最小和最大子進程數量。pm.max_requests
:限制每個子進程處理的請求數,以避免內存泄漏。例如,設置為pm.max_requests = 500
,當一個PHP-CGI進程處理的請求數累積到500個后,自動重啟該進程。memory_limit
:在php.ini
文件中設置PHP腳本的最大內存使用量。根據腳本的需求進行調整,避免設置過高導致內存浪費。php.ini
中找到并注釋掉以下行:zend_extension=/path/to/xdebug.so
。php.ini
中啟用OPcache并調整相關參數,如opcache.enable=1
和opcache.memory_consumption=64
(設置緩存內存為64MB)。sudo systemctl restart php{version}-fpm
。Glances
或top
定期監控PHP-FPM的內存使用情況,以便及時發現并解決問題。請注意,上述命令和路徑可能會因PHP版本和系統配置的不同而有所變化。建議根據實際情況進行調整,并在生產環境中進行充分的測試。