当Ubuntu下的php-fpm内存占用过高时,可以采取以下步骤进行排查和解决:
top 命令查看当前进程占用内存排序。ps -fe grep "php-fpm" | wc -l 命令查看当前php-fpm总进程数。ps -ylC php-fpm --sort:rss 命令查看当前php-fpm进程的内存占用情况及启动时间。pm.max_children:控制最大子进程数,根据服务器内存和CPU核心数调整。pm.start_servers:设置启动时的服务器进程数。pm.min_spare_servers 和 pm.max_spare_servers:控制空闲进程数量。php.ini 文件中启用opcache:zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.memory_consumption 和其他相关设置。修改配置文件后,使用以下命令重启php-fpm服务以应用更改:
sudo systemctl restart php{version}-fpm
将 {version} 替换为实际的PHP版本号,例如 php7.4-fpm。
/var/log/php-fpm/www-error.log,以发现潜在的性能问题或错误。通过上述步骤,可以有效降低php-fpm的内存使用,提高服务器的性能。在调整配置时,建议根据实际服务器的硬件资源和应用需求进行合理设置。