腾讯云 CVM CPU 使用率持续 100% 如何排查进程和优化配置

文章导读
遇到 CVM CPU 持续 100%,优先通过云监控确认趋势,登录系统定位高占用进程,区分是业务高峰还是异常脚本,再决定扩容或优化。
📋 目录
  1. 环境准备与依赖安装
  2. 核心命令速查
  3. 分步排查与处置
  4. 系统配置与扩容优化
  5. 代码层面常见高占用场景
  6. 验证与复盘
  7. 常见坑
  8. 参考来源
A A

遇到 CVM CPU 持续 100%,优先通过云监控确认趋势,登录系统定位高占用进程,区分是业务高峰还是异常脚本,再决定扩容或优化。

先说结论:CPU 满载通常是业务流量突增、代码死循环或安全入侵导致,先止血定位进程,再根据业务属性决定扩容或修复。

  • 先定位:通过 top 命令找到占用最高的 PID,结合云监控判断时间点。
  • 先做:确认进程身份,异常进程直接隔离,业务进程考虑限流或升级配置。
  • 再验证:观察云监控 CPU 曲线是否回落,系统负载是否恢复正常。

环境准备与依赖安装

部分监控命令依赖系统工具包,默认可能未安装。执行前请确保具备 root 权限。

# CentOS/RedHat 安装 sysstat 工具包
yum install sysstat -y

# Ubuntu/Debian 安装 sysstat 工具包
apt-get install sysstat -y

核心命令速查

# 查看整体负载和 CPU 占用最高的进程
top -b -n 1 | head -20

# 查看特定 PID 的线程级 CPU 占用
ps -mp [PID] -o THREAD,tid,time

# 查看 CPU 等待 IO 的情况(若 iowait 高)
iostat -x 1 5

分步排查与处置

1. 云端初步判断
登录腾讯云控制台,进入云监控页面,查看 CPU 使用率曲线。确认是突发尖峰还是持续高位,对比网络流入流出带宽,判断是否伴随流量攻击或业务高峰。

2. 登录系统定位
使用 SSH 登录实例,执行top命令。按P键按 CPU 使用率排序,记录占用最高的进程 PID 和命令名。注意区分是 java、php、python 等业务进程,还是未知名称的系统进程。

3. 分析进程行为
若为业务进程,检查应用日志是否有报错或慢查询。若为未知进程,检查其启动路径和网络连接,排查是否被入侵。可使用ls -l /proc/[PID]/exe查看进程 executable 路径。

腾讯云 CVM CPU 使用率持续 100% 如何排查进程和优化配置

4. 执行处置措施
异常进程:保留证据后终止进程,修复安全漏洞,修改密码。业务进程:临时重启服务释放资源,长期需通过控制台变更规格或调整系统参数。

系统配置与扩容优化

1. 腾讯云控制台扩容
登录腾讯云控制台,进入云服务器 CVM > 实例列表,找到目标实例,点击更多 > 调整配置。根据业务需求升级 CPU 核数或内存,注意升降配可能需要重启实例。

2. 进程优先级调整
对于非核心业务进程,可降低其优先级以减少 CPU 争抢:

# 将 PID 为 1234 的进程 nice 值调整为 10(范围 -20 到 19,越大优先级越低)
renice -n 10 -p 1234

3. 内核参数优化
针对高并发场景,可适当调整内核参数缓解压力:

# 示例:调整最大连接队列长度
sysctl -w net.core.somaxconn=1024
# 示例:降低 swap 使用倾向
sysctl -w vm.swappiness=10

代码层面常见高占用场景

  • 死循环:代码逻辑缺失退出条件,导致线程持续占用 CPU。
  • 正则回溯:复杂正则表达式在特定输入下产生指数级回溯。
  • 频繁 GC:Java 等语言内存不足导致频繁 Full GC,消耗大量 CPU 资源。
  • 序列化开销:高频大对象序列化/反序列化操作。

验证与复盘

处置后,保持top命令运行观察几分钟,确认目标进程 CPU 占比下降。回到腾讯云控制台云监控页面,确认 CPU 使用率曲线回落至正常水位线,且系统负载(Load Average)降至 CPU 核心数以下。

常见坑

  • 直接 kill 掉系统关键进程(如 systemd、sshd)导致无法登录。
  • 忽略 iowait 指标,误将磁盘 IO 瓶颈当作 CPU 计算瓶颈处理。
  • 未保留日志就重启服务,导致后续无法复盘问题根因。
  • 只重启实例不修漏洞,导致挖矿脚本再次运行。

参考来源

  • 腾讯云官方文档 - 云服务器 CVM:https://cloud.tencent.com/document/product/213
  • 腾讯云官方文档 - 云监控:https://cloud.tencent.com/document/product/248