Linux 进程管理:ps、top、kill 一次讲清

举报
yd_283162409 发表于 2026/11/02 08:46:13 2026/11/02
【摘要】 Linux 上排查问题,绕不开进程管理。ps 负责看,top 负责盯,kill 负责停,三者分工清楚,组合起来能覆盖日常绝大多数场景。ps 是快照。ps aux 可以看到所有用户的进程,重点看三列:%CPU、%MEM 和 COMMAND。%CPU 长期居高不下,说明某个进程在空转或死循环;%MEM 持续上涨,则要怀疑内存泄漏。ps aux | grep nginx 这种组合,可以快速确认某个...

Linux 上排查问题,绕不开进程管理。ps 负责看,top 负责盯,kill 负责停,三者分工清楚,组合起来能覆盖日常绝大多数场景。

ps 是快照。ps aux 可以看到所有用户的进程,重点看三列:%CPU、%MEM 和 COMMAND。%CPU 长期居高不下,说明某个进程在空转或死循环;%MEM 持续上涨,则要怀疑内存泄漏。ps aux | grep nginx 这种组合,可以快速确认某个服务到底起了几个进程、跑在哪个用户下。

top 是实时屏。top 打开后默认按 CPU 排序,每 3 秒刷新一次,按 M 可以改按内存排序,按 P 切回 CPU 排序。看 top 先看 load average 三个数:分别代表 1 分钟、5 分钟、15 分钟的平均负载,单核机器上长期超过 1 就说明排队了。再看第一行的 Tasks,zombie 数量不为零时,说明有僵尸进程没被父进程回收。

kill 是信号,不是字面意义的杀。kill 默认发 TERM(15),让进程自己收尾;进程不响应时再用 kill -9(KILL)强制结束,但 -9 不给进程清理资源的机会,可能留下临时文件或锁,所以永远先 TERM、后 KILL。killall 和 pkill 可以按名字批量操作,批量之前务必先用 pgrep 确认名单,避免误伤同名进程。

一套顺手的排查链路是:先 top 看谁在吃资源,再 ps aux 确认进程详情和启动参数,最后视情况 kill TERM,顽固的再 -9。记住顺序:看清楚再动手,TERM 优先于 KILL,批量操作前先 pgrep 核对。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。