一条命令查看占用CPU最高的进程

2025.7.18 杂七杂八 1081
33BLOG智能摘要
Linux系统运维中,一条命令即可高效排查CPU占用最高的进程。文章作者分享了自己多年的运维经验,特别是刚入行时因缺乏有效手段而处理低效的情况,后来学会使用`ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6`后,排查效率提升了200%。该命令通过`-eo`指定输出字段,按CPU使用率排序并显示前6行,其中包含引发CPU飙升的进程详细信息。例如,通过此命令迅速定位了一个运行死循环的Python脚本(PID 12345),通过`kill -9 12345`命令解决了问题。文章还介绍了更详细的排查版本,如添加用户信息字段`user`,以及使用`top -b -n 1 | head -12`的替代方式。作者强调,该技巧在处理服务器性能问题上非常实用,推荐加入运维工具箱,以便在紧急情况下快速响应。
— 此摘要由33BLOG基于AI分析文章内容生成,仅供参考。

Linux 系统排查必备:一条命令揪出 CPU 占用最高的进程

一条命令查看占用CPU最高的进程

大家好,今天想和大家分享一个我在日常运维工作中经常用到的实用技巧。相信很多朋友都遇到过服务器突然变卡的情况,这时候快速定位问题进程就显得尤为重要了。

1. 那些年我踩过的坑

记得刚入行时,遇到服务器 CPU 飙高的情况,我总是手忙脚乱。要么用 ps aux 看半天找不到重点,要么打开 top 后对着满屏数据发懵。直到前辈教了我这个命令,排查效率直接提升 200%。

2. 神奇的一行命令

这个命令组合我已经用了五年,至今仍是排查 CPU 问题的首选:

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head -n 6

简单解释下:

  • -eo 指定输出字段(pid, ppid 等)
  • --sort=-%cpu 按 CPU 使用率降序排列
  • head -n 6 只显示前 6 行(5个进程+表头)

3. 实战演示

昨天我们测试服务器就出现了 CPU 100% 的情况,用这个命令立即发现了罪魁祸首:

  PID  PPID CMD                         %MEM %CPU
12345     1 /usr/bin/python3 app.py     2.3  98.7
 6789  1234 /usr/lib/firefox/firefox    5.1   1.2
...

原来是个 Python 脚本在死循环!通过 kill -9 12345 快速解决了问题。

4. 进阶技巧

如果你想要更详细的信息,可以试试:

ps -eo pid,ppid,user,cmd,%mem,%cpu --sort=-%cpu | head -n 11

增加了 user 字段,显示更多进程。另外,用 top -b -n 1 | head -12 也能达到类似效果。

5. 写在最后

这个小技巧帮我解决了无数次的线上问题。建议大家可以把它加到自己的运维工具箱里,关键时刻真的能救命!如果你有更好的方法,欢迎在评论区交流~

下次遇到服务器卡顿,别再慌慌张张了,试试这个命令吧!

评论

  • 这个命令真的太好用了,每次服务器卡顿都用它快速定位问题 👍

  • 学到了!比top命令更直观,新人表示很受用