当腾讯云轻量应用服务器出现 CPU 使用率持续 100% 的情况时,可以按照以下系统化的方法进行排查和解决:
一、初步确认问题
-
登录腾讯云控制台
- 进入【轻量应用服务器】控制台。
- 查看目标实例的监控图表(CPU 使用率)是否确实长时间处于高位。
-
确认是否为瞬时高峰还是持续占用
- 如果是短时间峰值,可能是正常业务波动。
- 若持续 >80%,需进一步排查。
二、登录服务器进行诊断
使用 SSH 登录服务器(如 Linux 系统):
ssh root@your-server-ip
1. 使用 top 命令查看实时进程
top
- 按
P(大写)按 CPU 使用率排序。 - 观察哪些进程占用了大量 CPU。
- 记下进程 PID、用户、命令名。
示例输出中重点关注
%CPU列。
2. 使用 htop(更直观,可选安装)
# 安装 htop(Ubuntu/Debian)
sudo apt update && sudo apt install htop -y
# 或 CentOS/RHEL
sudo yum install htop -y
htop
支持颜色显示、鼠标操作,更容易识别高负载进程。
3. 使用 ps 命令快速查看高 CPU 进程
ps aux --sort=-%cpu | head -10
列出 CPU 占用最高的前 10 个进程。
三、常见原因及应对措施
1. Web 服务或应用过载(如 Nginx、Apache、Node.js、Python)
- 检查访问量是否突增(如被爬虫、DDoS 攻击)。
- 查看 Web 日志是否有异常请求:
# Nginx 日志
tail -f /var/log/nginx/access.log
# 查看高频 IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20
- 解决方案:
- 限制访问频率(Nginx 配置限流)。
- 使用防火墙屏蔽恶意 IP。
- 升级服务器配置或启用 CDN。
2. 恶意程序或X_X病毒
常见表现:
- 进程名奇怪(如
kdevtmpfsi,xmrig,systemd异常路径)。 - CPU 持续 100%,但无明显合法服务对应。
排查步骤:
# 查找可疑进程
ps aux | grep -E "(miner|cryptonight|xmrig|kdevtmpfsi)"
# 查看定时任务(可能用于持久化)
crontab -l
sudo crontab -l
ls /etc/cron.d/
# 检查异常启动项和服务
systemctl list-unit-files --type=service | grep enabled
处理方法:
- 终止可疑进程:
kill -9 PID - 删除相关文件(通常在
/tmp、/dev/shm、/root/.ssh下) - 清理 cron 任务
- 安装安全工具扫描(如
ClamAV、rkhunter)
推荐使用腾讯云自带的 云镜(主机安全) 功能检测木马。
3. 数据库负载过高(如 MySQL、Redis)
- 检查数据库连接数、慢查询:
# MySQL 查看进程
mysql -u root -p -e "SHOW PROCESSLIST;"
# 查看慢查询日志
grep "Query_time" /var/log/mysql/slow.log
- 优化建议:
- 添加索引。
- 限制最大连接数。
- 开启缓存(如 Redis)。
4. 计划任务或脚本异常
- 检查是否有脚本无限循环或频繁执行:
# 查看所有用户的 cron 任务
for user in $(cut -f1 -d: /etc/passwd); do echo "Crontab for $user:"; crontab -u $user -l 2>/dev/null; done
- 检查最近修改的脚本:
find /home /root /opt -name "*.sh" -type f -mtime -7 -exec ls -la {} ;
四、系统级优化与监控
1. 安装监控工具(如 netdata、glances)
# 安装 glances
sudo apt install python3-pip -y
sudo pip3 install glances
glances
2. 设置告警(可结合腾讯云告警服务)
- 在控制台设置 CPU 使用率超过 80% 时发送微信/邮件告警。
五、临时缓解与长期建议
| 措施 | 说明 |
|---|---|
kill 高 CPU 进程 |
临时释放资源 |
| 重启服务器 | 快速恢复(谨慎操作) |
| 升级轻量服务器配置 | 如从 1C1G 升到 2C4G |
| 迁移至 CVM + 负载均衡 | 适合高并发业务 |
六、预防建议
- 定期更新系统和软件:避免漏洞被利用。
- 关闭不必要的端口和服务:减少攻击面。
- 启用腾讯云防火墙:限制 SSH、数据库等端口访问。
- 备份重要数据:防止中毒后无法恢复。
- 使用主机安全产品:如腾讯云云镜,自动查杀木马。
总结排查流程图
CPU 持续 100%
↓
使用 top/htop 查看高占用进程
↓
判断是合法服务 or 恶意程序
├─ 合法服务 → 优化代码、限流、扩容
└─ 恶意程序 → 杀进程、删文件、清 cron、加固系统
↓
监控 + 告警 + 定期巡检
如果你提供具体的进程名称或日志片段,我可以进一步帮你分析具体原因。
云小栈