xinjiang 发表于 2018-12-12 08:32:39

php-fpm占用内存过高分析及解决

  1、查看php-fpm的进程个数
  ps -fe |grep "php-fpm"|grep "pool"|wc -l
  2、查看每个php-fpm占用的内存大小
  ps -ylC php-fpm --sort:rss
  3、配置php-fpm参数
  找到php-fpm的配置文件php-fpm.conf
  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之间。

页: [1]
查看完整版本: php-fpm占用内存过高分析及解决