当前位置:主机测评 主机资讯 正文

服务器CPU占用率过高怎么办?

务器CPU长期跑满,会直接造成网站加载缓慢、502报错、SSH连接卡顿、请求超时,是建站运维里非常常见的故障。遇到CPU高占用不要直接重启机器,优先按「查看进程→定位原因→针对性处理」的思路排查,下面给一套完整实操流程。

服务器CPU

一、先查看CPU占用,定位占用高的进程

登录服务器SSH,使用下面命令查看负载和进程。

1.top命令(最常用,实时刷新)

top

按P,按CPU使用率排序;按M按内存排序;Shift+W可以保存配置。重点看%CPU这一列,记下占用高的进程名称、PID。

2.htop(更友好,需要安装)

#CentOS

yuminstallhtop-y

#Ubuntu

aptinstallhtop-y

htop

3.查看系统平均负载

uptime

负载数值长期大于CPU核心数,说明CPU已经过载。

4.查看单个进程详情

ps-aux|sort-k3-nr

 

二、CPU高占用常见原因分类

1.网站程序与数据库问题

-MySQL/MariaDB:慢查询、索引缺失、大表全表扫描,SQL疯狂消耗CPU;

-PHP-FPM:并发请求太多、网站被爬虫疯狂抓取、恶意访问;

-程序bug:循环死代码、插件冲突、主题代码冗余(WordPress居多);

-缓存缺失:没有Redis/OPcache,每次访问都要动态解析、查询数据库。

2.攻击与恶意访问

CC攻击、恶意爬虫、扫描器、爆破脚本持续请求服务器,大量无效请求挤占CPU资源。很多时候看起来是网站进程占用高,实际是流量攻击。

3.定时任务、后台程序占用

备份脚本、日志统计、爬虫采集、监控脚本在固定时间批量执行,容易出现定时CPU冲高。

4.系统本身与异常进程

挖矿木马是高危情况:陌生不知名进程持续占满CPU,特征是进程名字奇怪、kill之后自动重启。

还有Nginx日志切割、日志量巨大、系统内核异常等情况。

 

三、分场景处理方案

场景1:MySQL占用CPU高

1.开启慢查询日志,找出耗时SQL;

2.给数据表添加索引,优化查询语句;

3.限制最大连接数,调低并发;

4.增加缓存,热点数据放到Redis,减少数据库查询。

场景2:PHP-FPM占用高

1.安装OPcache,加速PHP代码;

2.调整php-fpm进程数量,不要设置过大;

3.封禁恶意爬虫,Nginx配置User-Agent拦截;

4.清理无用插件,更换轻量化主题。

场景3:疑似CC攻击、恶意访问

1.Nginx配置限流,限制单IP访问频率;

2.开启CDN,隐藏源站IP,过滤攻击流量;

3.防火墙封禁恶意IP;

4.高价值业务考虑升级高防。

场景4:发现挖矿病毒

不要简单kill进程,病毒会自动拉起。

1.查找定时任务、异常启动项;

2.查杀木马,清理恶意脚本;

3.排查服务器漏洞,修补弱口令、程序漏洞;

4.必要时备份数据重装系统。

 

四、快速临时缓解办法

1.停止占用过高的进程(谨慎操作,避免业务中断)

kill-9进程PID

2.临时关闭不必要的定时任务;

3.重启php-fpm、mysql服务;

4.开启CDN分流静态资源。

提醒:kill只是临时降压,根源问题不解决,CPU很快再次跑满。

 

五、长期优化预防手段

1.做好监控:配置CPU告警,负载高第一时间收到通知;

2.合理使用缓存:Redis、OPcache、Nginx静态缓存;

3.图片、静态资源放对象存储、CDN;

4.定期优化数据库,清理冗余数据;

5.限制爬虫,做好访问频率控制;

6.配置预留性能余量,如果业务持续高负载,直接升级CPU核心。

 

六、常见避坑

-不要一看到CPU高就直接重启服务器,丢失排查线索;

-负载高不等于被攻击,大部分建站服务器是SQL慢查询、爬虫导致;

-1核2G这类低配机器,本身性能上限低,流量稍微上涨就容易CPU打满;

-排查的时候区分:是瞬时冲高,还是全天持续高占用。瞬时冲高大概率是定时任务,持续高占用优先查程序、数据库。

 

总结

排查CPU占用过高的顺序:`top/htop定位进程→判断是数据库/PHP/攻击/木马→针对性优化`。建站服务器优先排查慢SQL和爬虫;出现陌生进程优先排查挖矿;如果业务流量持续上涨,优化到瓶颈后,只能升级服务器配置。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权, 转载请注明出处。
文章名称:《服务器CPU占用率过高怎么办?》
文章链接:https://www.idc500.com/12217.html
【声明】:优云主机测评 仅分享信息,不参与任何交易,也非中介,所有内容仅代表个人观点,均不作直接、间接、法定、约定的保证,读者购买风险自担。一旦您访问优云主机测评 ,即表示您已经知晓并接受了此声明通告。
【关于安全】:任何 IDC商家都有倒闭和跑路的可能,备份永远是最佳选择,服务器也是机器,不勤备份是对自己极不负责的表现,请保持良好的备份习惯。
【声明】:本站宗旨是为方便站长、科研及外贸人员,请勿用于其它非法用途!站内所有内容及资源,均来自网络。本站自身不提供任何资源的储存及下载,若无意侵犯到您的权利,请及时与我们联系,邮箱
admin#idc500.com