php-fpm占用内存过高分析

 

1、查看每个php-fpm占用的内存大小

ps -ylC php-fpm --sort:rss

2、查看单个php-fpm进程消耗内存的明细

pmap $(pgrep php-cgi | head -1)

这里可以根据需要减少不必要的模块加载。

php-fpm的参数优化

 
  1. pm = dynamic #对于专用服务器,pm可以设置为static。#如何控制子进程,选项有static和dynamic。如果选择static,则由pm.max_children指定固定的子进程数。如果选择dynamic,则由下开参数决定:

  2. pm.max_children #子进程最大数

  3. pm.start_servers #启动时的进程数

  4. pm.min_spare_servers #保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程

  5. pm.max_spare_servers #保证空闲进程数最大值,如果空闲进程大于此值,此进行清理

对于内存大的服务器(比如8G以上)来说,指定静态的max_children实际上更为妥当,因为这样不需要进行额外的进程数目控制,会提高效率。

对于内存小的服务器,使用动态方式。具体最大数量根据 内存/20M 得到。比如512M的VPS,建议pm.max_spare_servers设置为20。至于pm.min_spare_servers,则建议根据服务器的负载情况来设置,比较合适的值在5~10之间。

扫描二维码关注公众号,回复: 4820178 查看本文章

猜你喜欢

转载自blog.csdn.net/firehive/article/details/83269741