首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >云服务器 CPU 跑满了怎么办:原因排查与优化-UserStory

云服务器 CPU 跑满了怎么办:原因排查与优化-UserStory

原创
作者头像
gavin1024
发布于 2026-10-28 14:44:26
发布于 2026-10-28 14:44:26
380
举报

摘要: 云服务器 CVM 的 CPU 跑满,排查路径是:先用 top 找吃 CPU 的进程,判断是正常业务压力还是异常(恶意进程、流量攻击),再按原因对症处理——优化代码、加缓存、升配置或加防护。本文讲清 CPU 满的几类根因和每类的处理方法。

CPU 跑到 100% 不一定是坏事,也不一定是硬件不够。业务流量正常但代码有效率问题,和被挖矿程序跑满,处理方式完全不同。搞清楚「谁在吃 CPU、为什么吃」是解决问题的第一步,盲目升配可能什么都没解决。这篇给你一套从定位到处理的完整思路。

先用 top 找是谁在吃 CPU

SSH 登录服务器,执行 top 命令,按 CPU 使用率排序(默认就是),看最靠前的进程:

代码语言:bash
复制
top
# 按 P 键按 CPU 使用率排序
# 看 %CPU 列,谁占得高就是嫌疑对象

再判断这个进程是谁:

  • 是你自己的应用进程(如 node、python、java、nginx):业务代码或流量压力导致,往下看代码和流量方向;
  • 是陌生进程(名字奇怪、路径在 /tmp 或 /var 下):高度怀疑是挖矿或恶意程序,立刻处理;
  • 是系统进程(kworker、ksoftirqd 等):内核级问题,通常是 IO 或中断压力,少见但有。

认清是谁再行动,这一步不能省。

情况一:业务代码导致 CPU 高

自己的应用进程吃 CPU,可能的原因:

  • 热点接口效率低:某个接口有嵌套循环、重复计算、正则表达式低效等;
  • 没有缓存:每次请求都重新计算或查库,CPU 反复做同样的事;
  • 高并发下某段代码成瓶颈:单核跑不过来,多请求排队。

定位:结合应用 APM(应用性能监控)或日志,找出哪个接口 CPU 消耗高——优化那段代码、给热点数据加缓存(如 Redis)、把计算密集的操作异步化,是这类问题的标准解法。

优化代码比直接升配更治本,但升配也是有效的应急手段——CVM 支持调整配置,业务高峰时可临时升核,再慢慢优化代码。

情况二:流量攻击或爬虫导致 CPU 高

CPU 高但自己的代码没变,有时是外部流量异常:被 DDoS、CC 攻击,或有大量爬虫在高频请求你的接口。

判断:在 top 里看进程是 Web 服务(如 Nginx),再看访问日志里有没有某个 IP 高频请求、或短时间大量相同请求。

处理:

  • 安全组或 Nginx 层封掉异常 IP/IP 段;
  • 接口加速率限制;
  • 开启 Web 应用防火墙(WAF)防 CC 攻击。

流量攻击导致的 CPU 满,升配解决不了根本——加防护才是正确方向。

情况三:挖矿或恶意进程

陌生进程 CPU 持续接近 100%,路径在 /tmp、/dev/shm 或类似隐蔽目录——这是挖矿程序的典型特征。服务器被入侵后会被植入挖矿脚本,悄悄消耗你的算力。

处理步骤:

  1. 用 ps aux 找进程详情,记下 PID 和路径;
  2. 用 kill -9 PID 先杀掉进程,观察 CPU 是否恢复;
  3. 删除对应文件;
  4. 检查 crontab(crontab -l)和 /etc/rc.local,看有没有自启动任务;
  5. 检查服务器是怎么被入侵的——弱密码、开放端口、未打补丁——堵上漏洞,否则杀了会再来。

处理完后立刻做安全加固:改强密码、限制 SSH 来源 IP、更新系统补丁。

情况四:真的配置不够了

排除了代码问题和异常流量,业务量就是增长导致 CPU 不够用——这时升配才是对的。

CVM 支持调整 CPU 和内存配置。升配建议:先观察 CPU 在正常业务负载下的均值,如果长期维持在 70%~80% 以上,说明余量确实不够,该升了。升一档观察,别一步跳太多。

如果业务有明显高峰低谷,可以配置弹性能力,高峰扩、低峰缩,比一直维持大配置更省成本。

CPU 跑满的完整排查路径

现象

可能原因

处理方向

自己的应用进程高

代码效率/无缓存/高并发

优化代码、加缓存、升配

Web 服务进程高

流量攻击/爬虫

封 IP、限流、加防护

陌生进程高

挖矿/恶意程序

清除进程、安全加固

多进程都高

配置真的不够

升配置

完成本教程还需要什么

CPU 问题处理完后,做好预防:

  • 开监控告警:在 CVM 控制台设置 CPU 使用率告警,超过阈值及时通知,不要等到服务卡了才发现。
  • 安全加固:弱密码、开放端口是被入侵的主要入口,定期检查安全组和登录记录。
  • 应用性能优化:加缓存、异步化、优化慢接口,从根源降低 CPU 压力。

想了解云服务器 CVM 的配置、监控与弹性能力,可前往产品介绍页了解:https://cloud.tencent.com/product/cvm ;当前服务器有特惠,可在腾讯云双十一活动页查看:https://cloud.tencent.com/act/pro/double11-202611

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 先用 top 找是谁在吃 CPU
  • 情况一:业务代码导致 CPU 高
  • 情况二:流量攻击或爬虫导致 CPU 高
  • 情况三:挖矿或恶意进程
  • 情况四:真的配置不够了
  • CPU 跑满的完整排查路径
  • 完成本教程还需要什么
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档