news 2026/4/16 18:24:03

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/16 7:25:40

快速集成指南:将阿里通义Z-Image-Turbo接入现有应用

快速集成指南&#xff1a;将阿里通义Z-Image-Turbo接入现有应用 作为全栈开发者&#xff0c;如果你想在自己的Web应用中快速集成AI图像生成功能&#xff0c;阿里通义Z-Image-Turbo是一个高效的选择。本文将带你从零开始&#xff0c;通过预置镜像快速搭建后端服务&#xff0c;无…

作者头像 李华
网站建设 2026/4/16 7:24:05

CSANMT模型与GPT-4翻译能力横向评测

CSANMT模型与GPT-4翻译能力横向评测 &#x1f4d6; 项目背景&#xff1a;AI 智能中英翻译服务的演进需求 随着全球化进程加速&#xff0c;高质量、低延迟的中英翻译服务成为跨语言沟通的核心基础设施。传统统计机器翻译&#xff08;SMT&#xff09;已逐步被神经网络翻译&#x…

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

低成本AI方案:零显卡运行高精度OCR服务

低成本AI方案&#xff1a;零显卡运行高精度OCR服务 &#x1f4d6; 技术背景与行业痛点 在数字化转型加速的今天&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术已成为文档自动化、票据处理、信息提取等场景的核心支撑。传统OCR方案往往依赖高性能GPU和昂贵的商业软件…

作者头像 李华
网站建设 2026/4/16 9:07:25

ClickShow鼠标点击特效工具:5分钟快速上手终极指南

ClickShow鼠标点击特效工具&#xff1a;5分钟快速上手终极指南 【免费下载链接】ClickShow 鼠标点击特效 项目地址: https://gitcode.com/gh_mirrors/cl/ClickShow 你是否曾在屏幕录制时苦恼观众看不清鼠标点击&#xff1f;是否在远程教学时反复解释操作步骤&#xff1f…

作者头像 李华
网站建设 2026/4/15 12:38:15

小白友好教程:十分钟部署属于你的AI艺术工作室

小白友好教程&#xff1a;十分钟部署属于你的AI艺术工作室 前言&#xff1a;零门槛开启数字艺术创作 退休教师李阿姨一直对数字艺术充满好奇&#xff0c;但复杂的命令行和Python环境让她望而却步。其实&#xff0c;现在通过预置的AI绘画工具镜像&#xff0c;只需十分钟就能在浏…

作者头像 李华
网站建设 2026/4/15 11:55:02

Obsidian附件管理的终极解决方案:告别文件混乱的完整指南

Obsidian附件管理的终极解决方案&#xff1a;告别文件混乱的完整指南 【免费下载链接】obsidian-custom-attachment-location Customize attachment location with variables($filename, $data, etc) like typora. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-cus…

作者头像 李华