当前位置:首页 > 技术分享 > 正文内容

宝塔面板负载状态显示100%、CPU占满100%的排查以及解决办法

admin8个月前 (04-16)技术分享507

关于PHP的 PHP-FPM进程CPU 100%的一些原因分析和解决方案

之前碰到过php-fpmCPU高达80%-90%,特此记录下

1. 查看是否是硬件问题

方式:top 命令详解:https://blog.csdn.net/Linging_24/article/details/126436563

主要查看:load average(平均负载),这是一个4核8G内存的服务器

在这里插入图片描述

1分钟平均负载:2.32;

5分钟平均负载:2.18;

15分钟平均负载:3.95;

load average 中3个数的含义,如果是1核cpu,那么不能超过1,4核那么就不能超过4,15分钟可以代表长期,5分钟代表中期,1分钟代表短期,所以先看15分钟

可以说它现在的平均负载接近了它的cpu总核数:4;需要考虑服务器配置升级!

2.查看是否是PHP-fpm的进程数过多

首先使用 free -m 指令查看当前服务器执行状况:
在这里插入图片描述

可以看到我的内存消耗不多,也能看到我是2G内存

然后再用 top 命令 m 参数 查看内存情况

再使用:ps auxw|head -1;ps auxw|sort -rn -k4|head -40 查看消耗内存最多的前40个进程

查看通过命令查看服务器上一共开了多少的 php-cgi 进程:ps -fe |grep “php-fpm”|grep “pool”|wc -l

查看已经有多少个php-cgi进程用来处理tcp请求:netstat -anp|grep “php-fpm”|grep “tcp”|grep “pool”|wc -l

设置PHP-FPM的进程数:vi /etc/php-fpm.d/www.conf(根据实际情况变化)找到 pm.max_children 字段,设置一个合理的值,比之前的小

pm.max_spare_servers : 该值表示保证空闲进程数最大值,如果空闲进程大于此值,此进行清理 pm.min_spare_servers : 保证空闲进程数最小值,如果空闲进程小于此值,则创建新的子进程;

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

正常情况下,一个php–fpm占用内存20~30M

3.进程跟踪

1.使用 top 找出CPU最高的进程pid

2.strace -p PID(进程数) 来跟踪进程

3. ll /proc/PID/fd 来查看该进程在处理哪些文件

最后修改对应代码

4、记得重启


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:http://blog.bitefu.net/post/663.html

分享给朋友:

相关文章

节假日api 负载均衡升级 增加阿里云服务器

2024-8-19 vip服务器遭受攻击 现已经临时更换服务器以下是服务器的情况可根据自己的需求进行选择1.tool.bitefu.net 整合服务器到 新的阿里云服务器(配置更高),旧服务器已不再续费2.vip.bitefu.n...

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

thinkphp等框架开发中容易忽略的xss攻击及应对XSS攻击方法

虽然说现在的web开发框架都是挺成熟的框架,在性能、安全等方面都有比较好的表现,但问题往往出现在业务逻辑上,如上周我再公司发现的一个跨站脚本攻击,(通常公司是这么过滤的,max(0,$_GET[‘a’])、strip_tags($_GET[...

WPS表格办公—取消科学计数法显示

WPS表格办公—取消科学计数法显示

我们在利用WPS表格与Excel表格进行日常办公时,经常需要制作各种各样的表格,当我们在表格当中输入长数据的时候,表格经常会自动显示为科学计数法,很多人都看不懂科学计数法的意思,那么,我们如何在输入长数字的时候避免显示为科学计数法呢,今天我...

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- ...

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6....

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版 及下载地址

安装Windows 10X 教你如何安装Win10X正式版:Windows 10X是Windows 10操作系统的新版本,主要针对双屏电脑。由于即将运行Windows 10X的双屏电脑(例如即将面世的Surface Neo)的开发遇到挫折,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。