当Linux系统中的PHP-FPM资源占用过高时,可以采取以下措施进行排查和解决:
/etc/php/{版本号}/fpm/pool.d/www.conf
或 /etc/php-fpm.d/www.conf
。pm.max_children
:设置最大子进程数。根据服务器的内存和应用程序的需求进行调整。pm.start_servers
:设置启动时的子进程数。可以根据服务器的内存和应用程序的需求进行调整。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的内存使用,提高服务器的性能。在调整配置时,建议根据实际服务器的硬件资源和应用需求进行合理设置。