news 2026/4/17 21:08:14

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/17 5:57:43

Z-Image-Turbo模型压缩实战:在边缘设备上的优化部署

Z-Image-Turbo模型压缩实战&#xff1a;在边缘设备上的优化部署 在物联网和边缘计算场景中&#xff0c;AI绘图能力的部署常常面临资源受限的挑战。本文将详细介绍如何通过Z-Image-Turbo模型压缩技术&#xff0c;在边缘设备上实现高效的AI绘图推理。这类任务通常需要GPU环境&…

作者头像 李华
网站建设 2026/4/17 1:24:45

PerfView终极性能优化指南:从诊断到调优的完整解决方案

PerfView终极性能优化指南&#xff1a;从诊断到调优的完整解决方案 【免费下载链接】perfview PerfView is a CPU and memory performance-analysis tool 项目地址: https://gitcode.com/gh_mirrors/pe/perfview PerfView是微软推出的专业级性能分析利器&#xff0c;专注…

作者头像 李华
网站建设 2026/4/16 22:28:34

Vue3 H5移动端开发技术深度解析:架构设计与性能优化实战

Vue3 H5移动端开发技术深度解析&#xff1a;架构设计与性能优化实战 【免费下载链接】vue3-h5-template &#x1f331; A ready-to-use mobile project base template built with the Vue3, Vant, and Vite. | 基于 Vue3、Vite4、TypeScript/JavaScript、Tailwindcss、Vant4&am…

作者头像 李华
网站建设 2026/4/17 13:25:37

明日方舟资源宝库:全方位游戏素材与数据实战手册

明日方舟资源宝库&#xff1a;全方位游戏素材与数据实战手册 【免费下载链接】ArknightsGameResource 明日方舟客户端素材 项目地址: https://gitcode.com/gh_mirrors/ar/ArknightsGameResource ArknightsGameResource项目为《明日方舟》玩家和创作者打造了一个专业的素…

作者头像 李华
网站建设 2026/4/15 10:50:44

Luckysheet数据导出全攻略:从表格到多格式文件的高效转换

Luckysheet数据导出全攻略&#xff1a;从表格到多格式文件的高效转换 【免费下载链接】Luckysheet 项目地址: https://gitcode.com/gh_mirrors/luc/Luckysheet 在当今数据驱动的时代&#xff0c;如何将在线表格中的宝贵数据高效导出为不同格式的文件&#xff0c;已成为…

作者头像 李华