news 2026/4/9 12:35:42

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/4/7 19:21:49

SVGcode:三分钟轻松掌握的高效矢量图转换方案

SVGcode&#xff1a;三分钟轻松掌握的高效矢量图转换方案 【免费下载链接】SVGcode Convert color bitmap images to color SVG vector images. 项目地址: https://gitcode.com/gh_mirrors/sv/SVGcode 想要将普通位图瞬间升级为专业级SVG矢量图吗&#xff1f;SVGcode这款…

作者头像 李华
网站建设 2026/4/2 20:52:18

虚拟偶像制作流水线:从形象生成到动态驱动的一站式方案

虚拟偶像制作流水线&#xff1a;从形象生成到动态驱动的一站式方案 虚拟偶像&#xff08;VTuber&#xff09;近年来在直播、短视频等领域迅速崛起&#xff0c;但制作一个完整的虚拟角色往往需要跨越多个技术环节&#xff1a;从形象设计、表情绑定到动态驱动&#xff0c;每个环节…

作者头像 李华
网站建设 2026/4/5 17:23:16

翻译API限流策略:平衡性能与成本

翻译API限流策略&#xff1a;平衡性能与成本 &#x1f310; AI 智能中英翻译服务 (WebUI API) 项目背景与核心价值 随着全球化进程加速&#xff0c;跨语言沟通需求激增。AI 驱动的智能翻译服务已成为企业出海、内容本地化和多语言协作的关键基础设施。然而&#xff0c;在实…

作者头像 李华
网站建设 2026/4/1 22:38:53

AI+区块链:快速搭建Z-Image-Turbo NFT生成平台的技巧

AI区块链&#xff1a;快速搭建Z-Image-Turbo NFT生成平台的技巧 引言&#xff1a;当AI图像生成遇上NFT 对于Web3开发者来说&#xff0c;创建NFT生成平台的核心挑战之一是如何快速集成高质量的图像生成能力。阿里开源的Z-Image-Turbo模型凭借其6B参数规模和仅需8步推理的亚秒级生…

作者头像 李华
网站建设 2026/4/5 22:35:59

快速原型设计:产品经理的Z-Image-Turbo可视化工具指南

快速原型设计&#xff1a;产品经理的Z-Image-Turbo可视化工具指南 作为一名产品经理&#xff0c;你是否经常遇到这样的困扰&#xff1a;需要快速生成UI原型图来验证想法&#xff0c;却苦于不会使用复杂的专业设计工具&#xff1f;今天我要分享的Z-Image-Turbo工具&#xff0c;正…

作者头像 李华
网站建设 2026/4/5 18:52:14

OCR性能对比:CRNN vs ConvNextTiny,复杂背景识别差多少?

OCR性能对比&#xff1a;CRNN vs ConvNextTiny&#xff0c;复杂背景识别差多少&#xff1f; &#x1f4d6; 项目简介 在现代信息处理系统中&#xff0c;OCR&#xff08;光学字符识别&#xff09; 技术已成为连接物理世界与数字世界的桥梁。无论是扫描文档、提取发票信息&#x…

作者头像 李华