【linux】 查看cpu占用前10的进程
ps -eo pid,psr,%cpu,cmd --sort=-%cpu | awk '$2 == 0' | head -10
以下是该命令的详细解析:
命令分解:
ps -eo pid,psr,%cpu,cmd
:-e
显示所有进程-o
自定义输出格式,指定显示:pid
:进程IDpsr
:进程当前绑定的CPU核心编号(0表示第一个核心)%cpu
:CPU使用百分比cmd
:进程命令/程序名
--sort=-%cpu
:按CPU使用率降序排序awk '$2 == 0'
:筛选第二列(psr)值为0的进程(即运行在第一个CPU核心上的进程)head -10
:仅显示前10条记录
典型输出示例:
textCopy Code
PID PSR %CPU CMD 1234 0 45.3 /usr/lib/firefox 5678 0 32.1 /usr/bin/python3 9012 0 28.7 /usr/bin/gnome-shell ...(共10行)
注意事项:
- 在多核系统中,进程可能在不同核心间迁移,此命令仅显示瞬时状态
- 如需持续监控,可结合
watch
命令使用:watch -n1 "ps -eo pid,psr,%cpu,cmd --sort=-%cpu | awk '\$2 == 0' | head -10"
- 在容器化环境中,可能需要添加
-ax
参数显示所有命名空间的进程