美文网首页
解决Linux下php-fpm进程过多导致内存耗尽问

解决Linux下php-fpm进程过多导致内存耗尽问

作者: geeooooz | 来源:发表于2022-05-16 09:53 被阅读0次
    查询消耗内存最多的前40个进程
    
    ps auxw|head -1;ps auxw|sort -rn -k4|head -40
    

    查看第四列内存使⽤占⽐,发现除了mysql数据库服务之外,php-fpm服务池开启了太多⼦进程,占⽤超过⼤半内存,问题找
    到了,我们开始解决问题:设置控制php-fpm进程池进程数量。

    通过搜索,发现可以通过配置属性,控制php-fpm⼦进程数量,⾸先,打开php-fpm配置⽂件,执⾏指令:

    vi /usr/local/php/etc/php-fpm.conf
    

    pm.max_children 值为50,每⼀个进程占⽤1%-2.5%的内存,加起来就耗费⼤半内存了,所以我们需要将其值调⼩,这⾥将其设置为25,同时,检查以下两个属性
    pm.max_spare_servers
    pm.min_spare_servers

    pm.max_spare_servers 该值表⽰保证空闲进程数最⼤值,如果空闲进程⼤于此值,此进⾏清理。
    pm.min_spare_servers 保证空闲进程数最⼩值,如果空闲进程⼩于此值,则创建新的⼦进程。

    这两个值均不能⼤于 pm.max_children 值,
    通常设置 pm.max_spare_servers 值为 pm.max_children 值的60%-80%。
    pm.min_spare_servers 默认设置为5

    相关文章

      网友评论

          本文标题:解决Linux下php-fpm进程过多导致内存耗尽问

          本文链接:https://www.haomeiwen.com/subject/pebiurtx.html