news 2026/6/23 7:50:25

ps aux --sort=-%cpu | head的庖丁解牛

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ps aux --sort=-%cpu | head的庖丁解牛

命令ps aux --sort=-%cpu | head是 Linux 下按 CPU 使用率降序查看最耗 CPU 的进程的常用组合。


一、命令分解

psaux --sort=-%cpu|head
部分作用
ps进程快照(Process Snapshot)工具
auxBSD 风格选项组合(非 GNU 长选项)
--sort=-%cpu%CPU字段降序排序(-表示降序)
``
head默认输出前 10 行

二、ps aux详解(BSD 语法)

虽然ps支持 SysV(-ef)和 BSD(aux)两种风格,但aux是历史沿用的组合:

字母含义
a显示所有终端上的进程(包括其他用户)
u面向用户的格式输出(含%CPU,%MEM,TTY,START,COMMAND等)
x显示无控制终端的进程(如守护进程、后台服务)

等效 GNU 写法ps -eo pid,ppid,user,%cpu,%mem,vsz,rss,tty,stat,start,time,command --sort=-%cpu


三、--sort=-%cpu排序机制

  • %cpu字段
    表示进程自启动以来的平均 CPU 使用率(非瞬时值),计算方式:

    %CPU = (进程使用的 CPU 时间 / 进程存活总时间) × 100%

    ⚠️ 注意:该值可能 > 100%(多核下,如 4 核满载 = 400%)

  • -前缀:表示降序(descending);若写+%cpu则为升序。

  • 排序时机ps在生成完整进程列表后,在内存中排序,再输出。


四、| head的作用

  • 默认行为head读取 stdin,输出前 10 行
  • 为何需要
    ps aux可能输出数百行,head截断以聚焦 top N 进程。
  • 自定义行数head -n 5→ 前 5 行(含标题)

💡注意head会包含ps标题行USER PID %CPU ...),实际进程行为 9 行。


五、完整输出结构示例

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 168780 13428 ? Ss Jan01 0:15 /sbin/init www-data 12345 85.2 2.3 500234 189024 ? R 10:00 12:34 php-fpm: pool www mysql 67890 45.1 5.6 1200M 450M ? Ssl Jan01 120:30 /usr/sbin/mysqld ...
字段说明
USER进程所有者
PID进程 ID
%CPUCPU 使用率(关键排序字段)
%MEM物理内存使用百分比
VSZ虚拟内存大小(KB)
RSS常驻内存集(物理内存,KB)
TTY控制终端(?表示无)
STAT进程状态(R=运行,S=睡眠,Z=僵尸)
START启动时间
TIME累计 CPU 时间([DD-]HH:MM:SS
COMMAND启动命令(可能被截断)

六、典型使用场景

  1. 快速定位高 CPU 进程

    psaux --sort=-%cpu|head-n5
  2. 结合grep过滤特定进程

    psaux --sort=-%cpu|grepphp
  3. 监控脚本中提取 PID

    TOP_PHP_PID=$(psaux --sort=-%cpu|grep'php-fpm'|head-n2|tail-n1|awk'{print $2}')

七、局限性与注意事项

问题说明
%CPU 是平均值短时峰值可能被平滑,无法反映瞬时抖动
多线程进程显示不准ps默认按进程聚合,线程级 CPU 需ps -L
COMMAND 被截断长命令名显示不全,可用ps -o pid,cmd --sort=-%cpu
无实时刷新仅单次快照,持续监控需tophtop

🔧替代方案

  • 实时监控:top -o %CPU
  • 精确线程级:ps -T -p <PID> -o pid,tid,pcpu,comm

八、总结

  • ps aux:获取全量进程快照(BSD 风格)
  • --sort=-%cpu:按 CPU 使用率降序排列
  • | head:截取 top N 结果(含标题)
  • 核心价值快速诊断 CPU 瓶颈进程,是系统运维的“第一响应”命令。

💡工程习惯
在脚本中避免依赖aux(不同系统ps行为可能差异),
改用 POSIX 兼容写法:

ps-eo pid,pcpu,comm --sort=-pcpu|head
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 3:13:11

20分钟极速部署Klipper容器化:3D打印固件终极指南

20分钟极速部署Klipper容器化&#xff1a;3D打印固件终极指南 【免费下载链接】klipper Klipper is a 3d-printer firmware 项目地址: https://gitcode.com/GitHub_Trending/kl/klipper 你是否曾为3D打印机固件的复杂配置而头疼&#xff1f;面对Python版本冲突、串口权限…

作者头像 李华
网站建设 2026/6/19 15:57:40

AI辅助写作:快速搭建阿里通义Z-Image-Turbo图文生成环境

AI辅助写作&#xff1a;快速搭建阿里通义Z-Image-Turbo图文生成环境 作为一名经常需要为书籍创作插图和封面的作家&#xff0c;我一直在寻找一个简单高效的AI图文生成解决方案。最近尝试了阿里通义Z-Image-Turbo后&#xff0c;发现它确实能完美融入我的写作工作流。本文将分享如…

作者头像 李华
网站建设 2026/6/11 14:29:35

跨平台Unity包解压工具:unitypackage_extractor终极指南

跨平台Unity包解压工具&#xff1a;unitypackage_extractor终极指南 【免费下载链接】unitypackage_extractor Extract a .unitypackage, with or without Python 项目地址: https://gitcode.com/gh_mirrors/un/unitypackage_extractor 在Unity开发过程中&#xff0c;资…

作者头像 李华
网站建设 2026/6/11 21:42:49

10分钟搭建Z-Image-Turbo WebUI:零基础玩转AI图像生成

10分钟搭建Z-Image-Turbo WebUI&#xff1a;零基础玩转AI图像生成 作为一名平面设计师&#xff0c;你是否经常为寻找创意素材而苦恼&#xff1f;Z-Image-Turbo作为新一代AI图像生成模型&#xff0c;能够快速生成高质量的设计灵感图。它特别擅长处理复杂提示词和多元素场景&…

作者头像 李华
网站建设 2026/6/10 5:36:13

百度网盘秒传神器:5分钟快速上手完整教程

百度网盘秒传神器&#xff1a;5分钟快速上手完整教程 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 还在为百度网盘下载速度发愁&#xff1f;想要快…

作者头像 李华
网站建设 2026/6/13 2:04:59

免费HDRI转立方体贴图终极方案:3D环境光照一键生成

免费HDRI转立方体贴图终极方案&#xff1a;3D环境光照一键生成 【免费下载链接】HDRI-to-CubeMap Image converter from spherical map to cubemap 项目地址: https://gitcode.com/gh_mirrors/hd/HDRI-to-CubeMap HDRI-to-CubeMap是一款革命性的在线工具&#xff0c;专为…

作者头像 李华