PHP CGI 进程占用CPU过高导致CPU使用达到100%的另类原因
由于使用的华为云的CDN加速,结果发现我的阿里云服务器突然卡顿,网页打开极慢。登陆华为云CDN管理后台发现最高带宽占用30M,流量短时间内达到10GB以上,这么大的流量我的服务器肯定扛不住啊。于是还跟华为云进行了一个撕逼,然后果断弃了华为云。
但是更换了其他CDN或者WAF之后,CPU占用依然居高不下,网上找了很多办法都不管用。
看了下是 PHP CGI 进程占用CPU最多,而且经过检测发现是 浏览器内核检测 网站的 PHP CGI 占用最高,其他的很少。然而看第三方网站统计,并没有很大的访问量啊。
于是我用下面步骤进行排除:
第一步,暂停了占用最多CPU的网站,发现很快CPU占用下来了。也就是肯定是这个网站的原因,但是我近期并未更新网站代码啊,应该不存在死循环之类的bug导致占用 CPU 过多;
第二步,紧接着我排查所有页面,经检查未发现挂马或者被黑的现象;
第三步,将 ie.icoa.cn 解析到一个新的目录,并放置一个静态的 html 首页。发现网站可以正常访问,而且CPU并未出现占用过高的情况;
第四步,测试PHP运行是否正常,将html页面改成php页面,测试正常,CPU正常;
第五步,将网站原首页复制到新网站目录下,测试一切正常。就当我以为没问题的时候,将整个网站全部复制到新网站目录下,立刻出现CPU占用过高的情况。然后我就想到这种情况肯定不是由于正常访问造成的,因为刚刚恢复访问,不至于有这么大的正常访问。个人猜测肯定是有爬虫抓取,而且无底线的抓取耗尽了资源;
第六步,将所有页面删除,然后一个页面一个页面的往新网站目录下拷贝文件,终于我在复制了 最新UA记录 这个页面的时候,CPU立刻爆表。破案了,肯定是有人想要UA数据,于是用爬虫爬我公开的最新UA记录页面。
第七步,我删除了 最新UA记录 页面之后,CPU占用恢复正常。
于是找到了原因,是某些没有底线的爬虫,抓取的频率太高,耗尽了我的服务器资源。抱歉你们这么做,我只好不让你们爬了!
PHP CGI 进程占用CPU过高导致CPU使用达到100%的另类原因的更多相关文章
- 万答#3,MGR最佳配置参考,PFS里的监测指标要全开吗,mysqld进程占用内存过高怎么排查
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 问题1,有推荐的MGR运行最佳配置参考吗 在「3306π」社区广州站5月22日的分享会上,万里数据库CTO娄帅给出了他建议 ...
- Hadoop 服务SYS CPU过高导致宕机问题
最近某hadoop集群多次出现机器宕机,现象为瞬间机器的sys cpu增长至100%,机器无法登录.只能硬件重启,ganglia cpu信息如下: 首先怀疑有用户启动了比较奇葩的job,导致不合理的系 ...
- Java进程占用内存过高,排查解决方法
最近收到邮件报警,说内存使作率达到84%.如下图: 解决方法: A:可能是代码原因导致的问题: 1.使用命令:top 查看当前进程的状态 2.从上图可以看到PID:916的java进程占用内存较大.定 ...
- java进程占用系统内存高,排查解决
转自:http://blog.51cto.com/chengxiaobai/2052530?cid=695076 故障:最近收到生产服务器的报警短信以及邮件,报警内容为:内存使用率高于70%. 使用t ...
- Explorer内存占用偶尔变高导致卡顿
症状: 打开 "这台电脑",加载缓慢.此时查看任务管理器,explorer内存可能飙升到几G.cpu也很高 创建和删除文件缓慢,删除单个文件也会出现进度条.此时查看任务管理器,会出 ...
- w3wp.exe进程占用内存过高解决方法
解决CPU占用过多: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp ...
- java进程占用系统内存高,排查方法
查看所有内存占用情况 top 定位线程问题(通过命令查看16764 进程的线程情况) ps p -L -o pcpu,pmem,pid,tid,time,tname,cmd 计数 ps p -L -o ...
- memcache占用CPU过高的解决办法
Simon最近为公司服务器操碎了心 , 先是mysqld进程占用CPU过高 , 导致服务器性能变低 ,网站打开太慢.通过增加max_connections及table_cache解决了问题 ,随后发现 ...
- 查询执行成本高(查询访问表数据行数多)而导致实例 CPU 使用率高是 MySQL 非常常见的问题
MySQL CPU 使用率高的原因和解决方法_产品性能_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/51587.html ...
随机推荐
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
- Python代码约定
建议遵守以下约定: 使用 4 个空格来缩进 永远不要混用空格和制表符 在函数之间空一行 在类之间空两行 字典,列表,元组以及参数列表中,在 , 后添加一个空格.对于字典,: 后面也添加一个空格 在赋值 ...
- mysql 多个字段的查询处理
https://blog.csdn.net/zzzgd_666/article/details/81101548
- go包管理
摘自: http://blueskykong.com/2019/02/18/go-dep-1/ https://www.cnblogs.com/apocelipes/p/10295096.html#v ...
- Spring Boot打包运行
一:pom.xml配置修改 <!--如果想打成jar包,修改为jar--> <packaging>war</packaging> <dependency> ...
- java基础 Math
package cn.mantishell.day08.demo04; /** * java.util.Math类是数学相关的工具类,里面提供类大量的静态方法,完成与数学运算相关的操作 * * pub ...
- window 包管理器--Chocolatey
Chocolatey 介绍 在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境. Chocola ...
- selenium自学笔记---下拉框定位元素select
下拉框1.先定位select 然后在定位option city = driver.find_element_by_id("selCities_0") city.find_eleme ...
- Java GC的工作原理详解
JVM学习笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆.栈.本地方法栈.方法区等部分组成,另外JVM分别对新生代下载地址 和旧生代采用不同的垃圾回收机制. 首先来看一下JVM内存结 ...
- 【面试突击】- Java面试总则
Java基础 1.Map.Set.List集合差别及联系详解 2.HashSet类是如何实现添加元素保证不重复的 3.HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安 ...