这篇文章主要为大家详细介绍了Linux下宝塔面板,php进程占用导致CPU100%,运行堵塞负载100%的解决方法。
一般来说这种问题的可能性很多,有可能是程序性能、服务器负载能力、并发访问、木马病毒、被植入了挖矿程序等等。
这里主要介绍几种问题的解决办法。
一、php-fpm进程过多导致cpu100%
首先使用 top 命令,查看一下当前的负载情况,使用SHELL工具连接到命令行操作界面,或通过宝塔面板->文件 点击终端进入命令行操作,输入 top 回车。
得到的结果如下图:
找到www的cpu占用值,得到当前的每个php-fpm平均占用cpu为1.5%左右,那么就可以计算出最大进程数应该为: 100/1.5=66 , 也就是66个进程就会占满cpu,达到100%,应调整为50~70为佳,所以进程数应为:60/1.5=40个左右,如果cpu是多核的,则需要增加,如cpu为8核,则乘以6左右,即:40*6=240 进程数。如果还是多,就慢慢减即可。
调整方法:打开宝塔的软件商店,找到你所用的php版本,点击设置
二、PHP日志太大造成CPU100%
日志太大PHP写入时候需要占用大量的处理器来打开日志文件写入。解决方法:清除日志文件,或者关闭php日志记录。
三、php版本太低导致
升级php版本为php7以上即可,如用的是小旋风站群则推荐php7.2。
四、其他可能的原因
1.遭受cc攻击,安装防火墙开启cc防御。
2.木马病毒,杀毒
3.网站程序负载能力。
最后附上使用小旋风造成卡顿的一些原因和解决方法:
· 安装php扩展opcache(安装扩展后,有的后台设置保存后将不能即时生效)
· 安装redis -> 【性能提升】宝塔安装redis和php开启redis扩展教程
· 自动采集间隔时间200以上或关闭自动采集
· 自动推送间隔时间200以上或关闭自动推送
· 关闭前台伪原创
· 内容库/关键词库/外链库的单个文件不超过2m,50000行
· 内容库每个类型的文件控制在200个以内
· 蜘蛛防火墙开关开启,勾选 屏蔽 其他蜘蛛
· 开启CC防御,过滤你想要的蜘蛛,CC触发频率 60~90,封印时间300
以下建议:· 蜘蛛设置 -> 访问css、js、图片的蜘蛛 选择直接屏蔽
· 站点优化 关闭 内容库繁体转换
· 所有模板(模板文件或者后台的tkdb模板) {固定关键词} 标签数量不超过10个(同一个只算一个,如 2个 {固定关键词1} ,算一个! {固定关键词1}, {固定关键词2} 算2个)
· 所有模板(模板文件或者后台的tkdb模板) {随机关键词} 标签数量不超过10个