服务器 CPU 占用 100%?教你揪出元凶进程

服务器CPU飙到100%时,整个业务都会卡顿甚至中断。
别慌,下面教你怎么用最简单的方法找到那个“吃CPU”的进程。
不管你是用命令行还是宝塔面板,都能跟着做。

排查前的准备

你需要先登录服务器。
如果使用SSH,需要知道服务器的IP、用户名和密码(或密钥)。
如果装了宝塔面板,直接用浏览器打开面板网址,输入账号密码就行。
另外,建议先开一个临时维护窗口,避免误操作影响在线业务。

第一步:用top命令快速定位高CPU进程

登录SSH后,输入命令:

top

你会看到一个动态列表。
默认按CPU使用率排序,所以CPU占用最高的进程会排在最上面。
重点看 %CPU 这一列,数值接近100%的就是元凶。
记下它的PID(进程ID),比如 12345
如果不小心退出了top,按 q 键。

第二步:用ps命令查看进程详情

top只显示瞬间状态,要确认进程的详细信息和父进程,用ps命令更稳妥:

ps aux --sort=-%cpu | head -10

这个命令会列出CPU占用前10的进程。
输出中包含用户、CPU%、内存%、启动时间、命令等。
如果看到类似 python /tmp/malicious.pyxmrig 这样的陌生进程,很可能是挖矿病毒。
你也可以通过 ps -ef | grep 12345 查看具体启动参数。

第三步:宝塔面板的可视化排查

如果你用的是宝塔面板,操作更直观:

  1. 登录宝塔面板,点击左侧菜单“仪表盘”。
  2. 在仪表盘右上方找到“CPU使用率”或“负载状态”,点击“详细”。
  3. 在弹窗里选择“进程管理器”,按CPU排序查看。
  4. 点击进程行右侧的“查看详情”可以看完整命令行。
  5. 如果需要结束进程,直接点击“结束进程”按钮(慎重,先确认是不是关键进程)。

宝塔面板的进程管理器还能看到进程的启动用户和网络连接,有助于判断是否是异常进程。

常见问题与避坑

问:top里看到进程是python/php/java,但不知道怎么对应业务? 建议先查看启动参数:ps -ef | grep 进程名。如果是熟悉的业务进程(如nginx、php-fpm),可能是流量突增或代码Bug导致CPU高,应该联系开发优化。如果是陌生路径下的脚本,很有可能是恶意程序。
问:误杀了系统关键进程怎么办? 结束进程前,先用 kill -15 进程ID 发送软中断信号,如果进程是正常服务,它不会立即退出。如果它立刻没了,说明可能不是系统核心进程(系统进程一般不会轻易被kill)。如果误杀了,尝试用 systemctl restart 服务名 重启。
问:为什么结束进程后CPU又瞬间冲高? 可能是该进程受守护进程或定时任务自动拉起。你需要找到它的启动源头:检查 /etc/init.d//etc/systemd/system//var/spool/cron/ 以及 /etc/crontab。如果是挖矿病毒,建议先隔离服务器,再彻底清理。
验证方法:执行上述定位步骤后,结束疑似进程,观察 top 或宝塔面板的CPU曲线,如果恢复正常,说明找对了。如果反复出现,继续按上面“自动拉起”的问题排查。之后建议用 htopbmon 等工具辅助监控,但日常用 topps 就足够了。

分享到:
上一篇
用大模型做运维故障排查,准确率能到多少?
下一篇
本地部署大模型,被人跑成肉鸡挖矿了?这份安全手册请收好
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意