CentOS 7中php fpm进程太多怎么办

发布时间 - 2020-08-19 00:00:00    点击率:
php fpm进程太多的解决办法:首先查看php进程总数;然后列出消耗内存最多的前50个进程;接着通过修改配置文件来优化“php-fpm”;最后重启服务器即可。

推荐:《PHP视频教程》

解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题

什么是php-fpm:

php-fpm即FastCGI进程管理器,用于控制php的内存和进程等。

操作环境:

CentOS 7

问题检查:

首先查看php进程总数:

pstree|grep php-fpm

回显:

|-php-fpm---20*[php-fpm]

根据回显信息可知,查询时有20个php-fpm进程。

也可以通过下面的命令列出消耗内存最多的前50个进程:

ps auxw|head -1;ps auxw|sort -rn -k4|head -50

解决过程:

下面我们通过修改配置文件来优化php-fpm,以达到降低内存使用率的目的。

我的php-fpm配置文件在 …/server/php/etc/ 目录下,进入该目录。

先备份一下原配置文件:

cp php-fpm.conf php-fpm.conf.bak

注:使用vim打开配置文件后,按Esc键,之后输入”/”, 再输入“xxx”可以查找“xxx”这个字符串。

具体配置参数如下:

pm.max_children = 100改为:pm.max_children = 25
pm.start_servers = 20改为pm.start_servers = 5
pm.min_spare_servers = 5改为pm.min_spare_servers = 2
pm.max_spare_servers = 35改为pm.max_spare_servers = 10

重启服务器:

reboot

重启后可以发现内存使用率相比于之前降低了。

注:

php-fpm.conf中参数作用的说明:

pm.max_children:静态方式下开启的php-fpm进程数量。

pm.start_servers:动态方式下的起始php-fpm进程数量。

pm.min_spare_servers:动态方式下的最小php-fpm进程数。

pm.max_spare_servers:动态方式下的最大php-fpm进程数量。

进行上述设置时,我将php-fpm的执行方式设置成了动态:

pm = dynamic

php-fpm有两种执行方式:

一种是Static静态,另一种是Dynamic动态。如果设置成静态,那么只有 pm.max_children 这个参数起作用。如果设置成动态则有 pm.start_servers 、 pm.min_spare_servers 和 pm.max_spare_servers 这三个参数起作用。设置成动态后,当php-fpm启动时会按照 pm.start_servers 的参数设置启动相应个数的进程,之后php-fpm的进程数量将维持在 pm.min_spare_servers 和 pm.max_spare_servers 指定的个数之间。

如何选择使用php-fpm的静态还是动态执行方式:

动态php-fpm执行方式允许php-fpm释放多余进程,从而节约内存资源。

静态php-fpm执行方式不允许php-fpm释放多于进程,避免了频繁开启或停止php-fpm进程,从而降低了服务器在某些情况下的响应时间。


# 配置文件  # 重启  # 设置成  # 最多  # 成了  # 降低了  # 太多  # 可以通过  # 我将  # 管理器 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  Linux系统命令中screen命令详解  如何在云主机快速搭建网站站点?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  如何在腾讯云服务器快速搭建个人网站?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  如何在阿里云通过域名搭建网站?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel如何使用查询构建器?(Query Builder高级用法)  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何快速配置高效服务器建站软件?  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何用低价快速搭建高质量网站?  如何快速搭建高效香港服务器网站?  简单实现Android文件上传  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  智能起名网站制作软件有哪些,制作logo的软件?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  UC浏览器如何设置启动页 UC浏览器启动页设置方法  jQuery validate插件功能与用法详解  如何在自有机房高效搭建专业网站?  Linux安全能力提升路径_长期防护思维说明【指导】  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何在IIS管理器中快速创建并配置网站?  大同网页,大同瑞慈医院官网?  如何在IIS中新建站点并解决端口绑定冲突?  如何挑选最适合建站的高性能VPS主机?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Laravel怎么使用artisan命令缓存配置和视图  如何用wdcp快速搭建高效网站?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  如何在阿里云ECS服务器部署织梦CMS网站?  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何使用withoutEvents方法临时禁用模型事件  Laravel如何与Pusher实现实时通信?(WebSocket示例)  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  Laravel如何配置任务调度?(Cron Job示例)  b2c电商网站制作流程,b2c水平综合的电商平台?  网站制作壁纸教程视频,电脑壁纸网站?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何在腾讯云服务器上快速搭建个人网站?  iOS正则表达式验证手机号、邮箱、身份证号等  如何有效防御Web建站篡改攻击?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  JavaScript如何实现错误处理_try...catch如何捕获异常?