在Ubuntu上优化PHP-FPM的内存使用可以通过以下几个步骤进行:
/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)。在系统中开启HugePages,并配置OPcache使用HugePages,可以提高内存访问效率。
如果服务器硬件配置较低,考虑升级服务器内存,以支持更多的并发处理。
在进行任何配置更改后,建议重启PHP-FPM服务以使更改生效。例如,使用以下命令重启PHP-FPM服务:
sudo systemctl restart php{version}-fpm
通过上述方法,可以有效降低php-fpm的内存占用,提升服务器的性能和稳定性。在调整配置时,建议根据实际服务器环境和业务需求进行合理设置,并定期监控效果,以确保优化措施的有效性。