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

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

admin3个月前 (04-16)技术分享232

关于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、记得重启


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

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

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

分享给朋友:

相关文章

mysql update不支持set子查询更新 的解决办法

mysql update不支持set子查询更新 的解决办法

先看示例:SELECT uin,account,password,create_user_uin_tree FROM sys_user结果:表中的create_user_uin_tree标识该条记录由谁创建。创...

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

随着 2021 年的到来,Adobe Flash Player 也迎来了告别,Adobe 在 2020 年 12 月 31 日后将不再支持 Flash Player。其实早在 2017 年,Adobe 公司就已宣布,计划在 2020 年底逐...

PHP AES加解密 (ECB模式/sha1prng算法/PKCS5Padding和PKCS7Padding补码) ECB 模式不需求设置 iv

php7+ 版本/**  * [AesSecurity aes加密,支持PHP7+]  * 算法模式:ECB  * 密钥长度:128  * 补...

在CentOS 5.x 6.x里使用yum源 换阿里云国内源换vault.centos.org源

阿里云CentOS 5 的系统,无法用yum来安装应用软件。  原因:CentOS 5 在2017-03-31日已经结束支持,不再提供维护更新,所以包括阿里云镜像站的文件可能都是过时或已经有部分文件缺失。 &n...

Chrome 最全历史版本下载以及chromedriver下载

https://vikyd.github.io/download-chromium-history-version/#/ https://dl.lancdn.com/landian/soft/chrome/m/ chromedriver的版...

python3 selenium webdriver.Chrome php 爬取汽车之家所有车型详情数据[开源版]

介绍本接口是车型库api的补充,用于爬取汽车之家所有车型详情数据开源地址:https://gitee.com/web/CarApi/tree/master/python软件架构python3 selenium webdriver.Chrom...

发表评论

访客

看不清,换一张

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