原链接:https://www.cnblogs.com/wpjamer/p/9191892.html
1、查看 php-fpm 的进程个数
ps -ef |grep "php-fpm"|grep "pool"|wc -l
2、查看每个 php-fpm 占用的内存大小
ps -ylC php-fpm --sort:rss
3. 查看 PHP-FPM 在你的机器上的平均内存占用
ps --no-headers -o "rss,cmd" -C php-fpm | awk '{sum+=$1} END {printf ("%d%s\n", sum/NR/1024,"M") }'
4. 查看单个 php-fpm 进程消耗内存的明细
pmap $(pgrep php-fpm) | less
pm = dynamic #对于专用服务器,pm 可以设置为 static。# 如何控制子进程,选项有 static 和 dynamic。如果选择 static,则由 pm.max_children 指定固定的子进程数。如果选择 dynamic,则由下开参数决定:pm.max_children #子进程最大数
pm.start_servers #启动时的进程数
pm.min_spare_servers #保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程
pm.max_spare_servers #保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
对于内存大的服务器(比如 8G 以上)来说,指定静态的 max_children 实际上更为妥当,因为这样不需要进行额外的进程数目控制,会提高效率。
对于内存小的服务器,使用动态方式。具体最大数量根据 内存 /20M 得到。比如 512M 的 VPS,建议 pm.max_spare_servers 设置为 20。至于 pm.min_spare_servers,则建议根据服务器的负载情况来设置,比较合适的值在 5~10 之间。