CPU占用100%定位恶意进程查杀教程

服务器CPU飙到100%?三步定位恶意进程并查杀

服务器 CPU 突然飙到 100%,SSH 都卡得打不出字?
不要急着重启,先按下面的流程找出那个“吃满 CPU”的恶意进程,然后安全地干掉它。
本文假设你只会最基本的 Linux 命令,全程可复制执行。

第一步:远程连接并观察系统负载

首先通过 SSH 连接你的服务器(用公司的堡垒机或密钥方式登录)。
连上后先跑两个命令看看整体状态:

top -bn1 | head -15

这个命令会一次性输出 top 的截图,重点关注 %Cpu(s) 那行和后面的 PID USER PR NI ... 列表。
如果某个进程的 %CPU 长期超过 90%,它很可能就是问题进程。

如果觉得 top 输出乱糟糟,可以用 htop(更直观,需要先安装):

apt install htop -y   # Ubuntu/Debian
yum install htop -y   # CentOS
htop

htop 里按 F6 可以按 CPU 使用率排序,一眼就能看到哪个进程最吃资源。
记录下这个进程的 PID(进程号)。

第二步:确认进程身份,查清“底细”

拿到 PID 后千万不要直接 kill -9,先搞清楚它到底是系统必须的服务还是一个挖矿恶意程序。
用下面几个命令交叉检查:

# 查看进程详细信息
ps -p  -o pid,ppid,%cpu,%mem,cmd,user

# 查看该进程打开的文件/网络连接
lsof -p 

# 检查网络连接(如果没有 lsof 可以用 netstat 或 ss)
ss -tunap | grep 

重点关注:

  • User 是否为 root 或 www-data 等系统用户?如果是一个奇怪的用户名(比如 xmrig、miner、tmp 等),基本可以判定是恶意进程。
  • Cmd 是否指向一个可疑路径,比如 /tmp/.../var/tmp/... 下的随机名字文件?
  • 网络连接:如果有大量对外连接,尤其是目标 IP 是海外矿池地址,那就是挖矿木马。

第三步:安全地停止并清理恶意进程

确认是恶意进程后,按照“先暂停、再终止、最后清理文件”的顺序操作。

# 1. 先发送 SIGTERM 让进程自行退出(有机会处理资源)
kill 
sleep 2

# 2. 如果没退出再用 SIGKILL 强制干掉
kill -9 

# 3. 找到恶意程序文件删除(根据上面 lsof 或 ps 里看到的路径)
rm -f /tmp/.X11-unix/xxx   # 举例路径,以实际为准

重要提醒:有些恶意进程会设置定时任务(cron)或写启动脚本,只杀进程不删文件,过几分钟又会复活。
所以必须同时检查并清理:

# 查看当前用户的 crontab
crontab -l
# 查看系统级 crontab
cat /etc/crontab
ls -la /etc/cron.*/

如果发现定时任务里有下载脚本或执行可疑文件的条目,直接删除那一行。
另外检查 /etc/rc.local/etc/init.d/ 等自启动目录是否被写入。

避坑指南与高频问题

问题1:怎么判断是恶意进程而不是正常的系统进程?

正常进程如 mysqld、php-fpm、nginx 等,用户通常为 mysql、www-data,命令路径在 /usr/sbin//usr/bin/ 下,且网络连接正常。
恶意进程通常随机名字、路径在 /tmp/dev/shm、用户为 nobody 或奇怪名。

问题2:杀不掉进程怎么办(无权限、僵尸进程)?

如果是 root 用户也杀不掉,可能是进程进入了 D 状态(不可中断睡眠)。
这时只能重启服务器。
重启前最好把可能的恶意文件提前备份并删除。

问题3:忘了记录 PID 就关掉了 top 怎么办?

可以再跑 ps aux --sort=-%cpu | head 按 CPU 降序列出前几个进程,同样能找到高占用进程。

问题4:做完以上步骤后 CPU 还高?

可能有多个恶意进程隐藏在系统里,或者系统真的被挖矿程序植入了内核模块。
此时建议安装杀毒工具如 ClamAV 全盘扫描,或者直接用 rkhunter 检查 rootkit。

最后验证效果

清理完所有可疑进程和文件后,再次运行 tophtop,观察 CPU 空闲百分比是否恢复到正常水平(比如 id 值 >90%)。
也可以执行 uptime 看 load average 是否下降。

如果过一段时间又复现,说明有遗漏的持久化机制(比如写入了 boot 脚本、内核模块),需要更彻底的排查。
建议结合 auditd 监控新增进程和文件变化。

遇到类似问题时别慌,按照本文的流程一步步操作,大部分恶意进程都能被精准定位并清除。
如果你在处理 CPU 占用 100% 时还有特殊场景,欢迎在评论区留言交流。

分享到:
上一篇
跳转收录权重损失修复方案:跳转导致收录权重下降?修复方案与实
下一篇
慢日志批量优化数据库查询卡顿问题
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意