NGINX下PHP-FPM占用内存状态及进程数调整
Posted code-is-poetry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX下PHP-FPM占用内存状态及进程数调整相关的知识,希望对你有一定的参考价值。
网站出现500,查看SLOWLOG日志发现如下提示:
WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 8 idle, and 58 total children
WARNING: [pool www] server reached pm.max_children setting (50), consider raising it
昨天晚上刚改的看来又不够用了!
查看php-FPM内存占用的几个有用小命令,记录如下:
1.查看每个FPM的内存占用:
ps -ylC php-fpm --sort:rss
当然,在后后面加 | wc -l可查看系统当前FPM总进程数,我的目前在45个左右。
PHP官方的建议设置值:
pm.max_children = Total RAM dedicated to the web server / Max child process size
2.查看FPM在你的机子上的平均内存占用:
ps --no-headers -o "rss,cmd" -C php-fpm | awk ' sum+=$1 END printf ("%d%s\\n", sum/NR/1024,"M") '
以上是关于NGINX下PHP-FPM占用内存状态及进程数调整的主要内容,如果未能解决你的问题,请参考以下文章
WebService之nginx+(php-fpm)结构模型剖析及优化