Linux进程占用100%CPU排查

服务器CPU长期处于100%时,网站会变慢甚至宕机。
很多新手遇到这种情况会慌,其实只要按下面几步操作,就能快速找到是哪个进程在吃CPU,以及它正不正常。

准备工作:确保你能登录并观察到系统状态

你需要能通过SSH连接到服务器,并且拥有root权限或至少能使用sudo。
常用Linux发行版(CentOS、Ubuntu、Debian)都自带top和ps命令,基础排查不需要额外安装。
如果喜欢更直观的界面,可以先用包管理器安装htop(yum install -y htopapt install -y htop),但后面步骤仍以更通用的top为例。

第一步:用top命令一秒找到CPU高峰元凶

登录后直接输入top,回车。
你会看到一个实时刷新的进程列表。
默认是按CPU使用率排序的,但为了保险,按一下键盘上的大写P(Shift+P)确保按%CPU从高到低排序。
列表中第一行显示总CPU和内存使用率,下面的进程列表里,最上面那个就是CPU占用最高的进程。
记下它的PID(第一列的数字)。

如果看到某个进程CPU占用超过90%甚至100%,那就找对了。
如果列表中有多个进程CPU都很高,可能需要逐一分析。
按q退出top。

第二步:用ps命令获取进程详细信息

知道PID后,用下面命令查看这个进程的完整命令行、用户、启动时间等信息,帮助判断它是不是正常的业务进程:

ps -p PID -o pid,ppid,user,%cpu,etime,args

将PID替换成你记下的数字。
输出会显示:

  • 用户(user):如果是root或www-data,可能是系统服务或网站进程;如果是随机名称(如nobody或陌生字母),要警惕。
  • 运行时间(etime):如果刚刚启动几秒但CPU就满了,很可能是异常进程。
  • 命令行(args):如果是/usr/sbin/httpdjava -jar app.jar,大概率是正常业务;如果是/tmp/..../...且文件名很奇怪,多半是中招了。

如果想进一步看进程打开了哪些网络连接,可以加上lsof -p PID(需要安装lsof),重点检查有没有连接到外网的陌生IP,很多挖矿病毒会外联矿池。

第三步:判断进程性质并决定处理方式

正常业务进程(如Nginx、MySQL、Python应用)

如果CPU高是因为高峰期流量大,可以先检查是否有必要扩容,或者优化代码。
临时应对可以使用renice -n 19 -p PID降低进程优先级,或者用cpulimit -p PID -l 50限制CPU使用率不超过50%。
但不建议长期使用,最好从根源解决。

异常进程(挖矿、后门、可疑脚本)

如果进程名可疑(如kswapd0xmrsshd的伪装名),或者路径不在标准系统目录,基本可以判定是恶意软件。
先执行kill -15 PID尝试优雅终止,如果不行再kill -9 PID强行杀掉。
之后务必删除该进程的启动文件,并检查crontab(crontab -l)、/etc/rc.local、/etc/systemd/system/等位置是否有定时启动项。

避坑指南:做这些检查前不要冲动

  1. 不要看到CPU高就直接重启服务器。先找到进程再决定操作,盲目重启可能导致恶意进程随系统自启,问题依旧。
  2. 不要直接kill所有高CPU进程。例如mysqld在大量查询时CPU高是正常的,杀掉会导致数据库崩溃。先确认身份。
  3. 注意观察top输出中的WAITiowait,如果CPU高但进程列表里没有明显占用,可能是磁盘I/O瓶颈(iostat -x 1可查看)。
  4. 有些挖矿进程会使用类似系统进程名的伪装,例如sysuptime冒充系统进程,要用ps -ef仔细看参数。

效果验证:确认CPU恢复并检查残留

处理完成后再次运行top,应该看到%CPU总和使用率下降,之前异常进程不复存在。
如果依然很高,排错可能遗漏了其他进程,或者恶意程序有守护进程重生。
运行pstree -a可以查看进程树,看看有没有隐藏的子进程。
最后建议用netstat -antp | grep ESTABLISHED检查外联连接是否正常。

完成以上步骤后,你的CPU应该恢复正常。
如果你在处理Linux进程占用100%CPU排查时遇到本文没覆盖到的特殊情况,欢迎在评论区补充,我会继续帮大家补充手段。

分享到:
上一篇
Linux ssh密钥登录禁用密码
下一篇
Linux服务器时间同步chrony:从安装到验证完整教程
1
系统公告

机房迁移升级通知

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