腾讯云轻量应用服务器(Lighthouse)出现 CPU 占用过高导致卡顿,是运维新手和站长最常遇到的“玄学”问题之一。别急着重装系统或升级配置,先按这套逻辑排查,90% 的情况都能定位到根因。
第一步:确认是“真高负载”还是“假死机”
有时候界面卡、SSH 连不上,不一定是 CPU 满了,可能是内存爆了 Swap 交换频繁,或者是磁盘 IO 瓶颈。
- 登录控制台:进入腾讯云轻量应用服务器后台。
- 查看监控图表:在“监控”页面,观察过去 1-24 小时的 CPU 使用率曲线。
- 如果是持续 100%:肯定是资源耗尽。
- 如果是突发尖峰后回落:可能是定时任务、备份脚本或突发流量。
- SSH 登录测试:如果还能连上 SSH,直接执行
top或htop(没装就yum install htop或apt install htop)。- 看
%Cpu(s)行:wa(iowait) 高说明磁盘读写慢;si/so(swap in/out) 高说明内存不够。 - 看进程列表:排序找到那个吃掉 CPU 的 PID。
- 看
第二步:常见“元凶”及解决方案
1. 恶意XX病毒(最常见!)
如果你的服务器之前没有安装过什么奇怪的服务,CPU 突然飙到 100%,且有一个名字奇怪的进程(如 kdevtmpfsi, kinsing, cryptonight 等),或者你发现 /tmp 目录下有可疑文件,那大概率是中招了。
- 特征:进程名随机,父进程可能是
bash或systemd,会尝试连接网络 IP。 - 处理:
- 断网:先在控制台防火墙里把入方向所有端口封掉,防止扩散或接收指令。
- 杀进程:
kill -9 <PID>。 - 清残留:检查 cron 定时任务
crontab -l,删除可疑条目;检查/etc/cron.d/目录;检查启动项systemctl list-unit-files --type=service | grep enabled。 - 查日志:查看
/var/log/auth.log或/var/log/secure,看看是谁通过弱密码或漏洞进来的。 - 改密码:立即修改 root 密码,且必须是大写+小写+数字+符号,长度 12 位以上。
2. 网站/服务被刷或攻击
如果你跑的是 WordPress、博客或小型 Web 服务,可能被 CC 攻击或爬虫疯狂抓取。
- 特征:Nginx/Apache 访问日志里某个 IP 请求量巨大,或者某个 PHP/Python 进程一直在运行。
- 处理:
- 分析日志:
tail -f /var/log/nginx/access.log,看哪个 IP 最活跃。 - 临时封禁:用
iptables或云服务器的安全组,暂时屏蔽该 IP。 - 长期防御:接入 CDN(腾讯云 CDN 自带基础防护),或使用 WAF(Web 应用防火墙)。轻量服务器建议开启腾讯云提供的“DDoS 基础防护”(免费额度通常够用)。
- 分析日志:
3. 代码 Bug 或 配置不当
比如数据库查询没有索引,导致全表扫描;或者 Python/Java 程序内存泄漏引发 GC 频繁;或者 Nginx 配置了过多的 worker_processes。
- 特征:CPU 高但伴随 MySQL 慢查询日志增多,或 Java 堆栈报错。
- 处理:
- MySQL:开启慢查询日志,优化 SQL 语句,加索引。
- PHP:检查是否有无限循环或递归调用。
- Nginx:调整
worker_processes auto;,确保不超过 CPU 核心数。
4. 系统更新或后台任务
Linux 系统在开机时可能会自动运行 apt-get update、yum clean all 或系统备份任务。
- 特征:通常在凌晨或刚重启后发生,持续时间短。
- 处理:
- 检查
unattended-upgrades或cron.daily里的脚本。 - 将自动更新改为手动,或安排在业务低峰期。
- 检查
第三步:终极手段——升级与优化
如果排查后发现确实是业务增长,配置不够用了:
-
升级实例规格:
- 腾讯云轻量应用服务器支持变配。注意:部分套餐不支持在线变配,可能需要停机迁移。建议在非业务高峰期操作。
- 从 1核 1G 升级到 2核 2G 或更高,成本增加不多,但体验提升明显。
-
启用 Swap 分区(应急):
- 如果内存小(如 1G),CPU 高是因为内存不足导致频繁 Swap。可以创建一个 2G 的 Swap 文件,缓解 OOM(Out of Memory)导致的系统卡顿。
dd if=/dev/zero of=/swapfile bs=1M count=2048 chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab
- 如果内存小(如 1G),CPU 高是因为内存不足导致频繁 Swap。可以创建一个 2G 的 Swap 文件,缓解 OOM(Out of Memory)导致的系统卡顿。
-
使用腾讯云“云监控”告警:
- 设置 CPU 使用率超过 80% 持续 5 分钟就发送短信/邮件告警,这样能在用户感知前介入处理。
避坑指南
- 不要盲目重装系统:除非确定是被黑客彻底控制且无法清理,否则重装会丢失数据和服务配置,得不偿失。
- 不要只盯着 CPU:很多时候卡顿是磁盘 IO 或网络带宽打满造成的,
iostat -x 1和iftop是你的好朋友。 - 轻量服务器的限制:轻量应用服务器是共享带宽和 CPU 积分制的(尤其是入门级),长时间高负载会导致性能受限。如果是生产环境,建议考虑使用 CVM(云服务器)而非 Lighthouse,因为 CVM 的性能更稳定,无积分限制。
总结一句话:先看是不是中了XX病毒(改密码、清进程),再看是不是被攻击(封 IP、开 WAF),最后才考虑升级配置。大多数情况下,一个强密码 + 及时的安全补丁就能解决 80% 的问题。
云技术博客