https://i.stack.imgur.com/EgbDt.pngu
即使服务器上一段时间内没有流量,php-fpm 工作器也会占用大量内存。这些内存是什么?是泄漏的内存(magento 位于该池中)还是某种 php 缓存(我只使用 APC 缓存,它应该位于某个共享内存中)?
这是我的配置:
[www]
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = www
group = www
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 256M
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
编辑:我知道我在这里过度使用了资源,并且我已经修复了这个问题,但是我仍然想知道这个内存是什么以及为什么 php-fpm 不释放它。
答案1
您是否尝试过重新启动 Web 服务器和 php-fpm?不是电源循环,只是终止 apache/nginx 和 php-fpm,然后重新启动它们的守护进程。
对于基于 Debian 的系统来说,它将是:
service php5-fpm restart
service apache2 restart
另外,您的 top 类资源查看器很奇怪,我原本以为 top 是普通的。没什么大不了的。但是……那只是我太挑剔了。