各位使用 zabbix 的时候,从一开始使用到后面内存占得越来越多,甚至内存超过 90% 报警(本人一开始使用虚拟机分配4G内存),百度了好久,终于定位到是 PHP 的问题,以下是 PHP 的优化配置,如果是使用 Docker 安装的话,应该修改的是哪个容器呢? (就是它了 zabbix-web-nginx-mysql)
#进入容器(如不是docker安装请忽略)
docker exec -it --user root zabbix-web-nginx-mysql /bin/bash
#把配置放到配置文件末端
cat >>/etc/php-fpm.d/zabbix.conf<<EOF
pm = dynamic ;指定进程管理方式,有3种可供选择:static、dynamic和ondemand。
pm.max_children = 16 ;static模式下创建的子进程数或dynamic模式下同一时刻允许最大的php-fpm子进程数量。
pm.start_servers = 10 ;动态方式下的起始php-fpm进程数量。
pm.min_spare_servers = 8 ;动态方式下服务器空闲时最小php-fpm进程数量。
pm.max_spare_servers = 16 ;动态方式下服务器空闲时最大php-fpm进程数量。
pm.max_requests = 2000 ;php-fpm子进程能处理的最大请求数。
pm.process_idle_timeout = 10s
request_terminate_timeout = 120
EOF
#重启容器(如不是docker安装请忽略)
docker restart zabbix-web-nginx-mysql
#或重启PHP服务
systemctl restart php-fpm
自此,我的 zabbix 内存使用率,也就 1G 左右