JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 服务器 » WARNING: [pool www] server reached pm.max_children setting

WARNING: [pool www] server reached pm.max_children setting

此文被围观1769日期: 2017-06-09 分类 : 服务器  标签:  ··

服务日志查看到WARNING: [pool www] server reached pm.max_children setting  这样的报错问题,


解决方法:


编辑/xxx/php/etc/php-fpm.conf文件,找到pm.max_children = 100 把100改成机器根据实际需要的值)

pm.max_children = 30   //设置子进程最大数值

举例:每个php-fpm子进程占用20M内存,服务器的内存是1G,除去系统中其他应用占用的内存,假如为300M,剩余700M,700/20 = 35,最多设置35,可以取值稍微低一些为30。

与此同时我们还要调整以下参数

pm.start_servers = 10   //php-fpm启动起始进程数
pm.min_spare_servers = 10   //php-fpm的最小空闲进程数
pm.max_spare_servers = 24   //php-fpm的最大空闲进程数
pm.max_requests = 500   //所有子进程重启时间

举例:所有子进程重启时间为300s一次,并发量为50,max_children设置为30,max_requests = 300*50/30=500,如果想让进程每隔一小时重生一次,则是3600*50/30=6000。

修改完成后我们需要重新启动PHP FPM服务通过使用以下命令后:

service php-fpm restart 或者 /etc/init.d/php5-fpm restart

说明:如果pm.max_requests没有设置重启参数,默认为不限制最大服务次数,也就是子进程永远不重启,经验表明,长时间不重启子进程会导致系统负载异常,处理时间变长等现象。

附Linux手动释放内存命令:

echo 3 > /proc/sys/vm/drop_caches
cat /proc/sys/vm/drop_caches


站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。蜀ICP备12031064号