千家信息网

Linux中如何使用ps命令输出进行排序

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了Linux中如何使用ps命令输出进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ps命令是理解Linux系统上
千家信息网最后更新 2026年11月01日Linux中如何使用ps命令输出进行排序

这篇文章主要介绍了Linux中如何使用ps命令输出进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

ps命令是理解Linux系统上运行的内容和每个进程使用的资源的关键。了解如何显示ps以任何方式提供的信息都是非常有用的,这些信息可以帮助您集中精力解决您要解决的问题。这样做的一个方面是能够按任何列对ps aux命令的输出进行排序,以突出显示特定的信息,例如进程使用了多少内存或运行了多长时间。

技巧包括使用ps命令的 --sort 选项并知道如何指定要用于排序的列。默认情况下,ps按进程id(PID)排序,首先显示最小的。PID 1将出现在列表的顶部,在列标题的正下方。其余的将按数字顺序排列。

下面是一个标准ps-aux输出的例子。可能看起来很眼熟。

linuxmi@linuxmi:~/www.linuxmi.com$ ps aux | head -5  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND  root 1 0.0 0.4 171788 16056 ? Ss 08:59 0:05 /sbin/init splash  root 2 0.0 0.0 0 0 ? S 08:59 0:00 [kthreadd]  root 3 0.0 0.0 0 0 ? I< 08:59 0:00 [rcu_gp]  root 4 0.0 0.0 0 0 ? I< 08:59 0:00 [rcu_par_gp]

使用--sort选项,如果按PID排序,您将得到相同的输出。注意,您需要输入小写的"pid"。但是,您可以将"pid"更改为任何其他列并按该列排序。

linuxmi@linuxmi:~/www.linuxmi.com$ ps aux --sort pid | head -5  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND  root 1 0.0 0.4 171788 16056 ? Ss 08:59 0:05 /sbin/init splash  root 2 0.0 0.0 0 0 ? S 08:59 0:00 [kthreadd]  root 3 0.0 0.0 0 0 ? I< 08:59 0:00 [rcu_gp]  root 4 0.0 0.0 0 0 ? I< 08:59 0:00 [rcu_par_gp]

要查看首先列出的选定列的最大值,必须更改排序选项(例如,用-pid代替pid)。请注意,在这种情况下,显示如何以最高的进程ID开始。将-看作是降序值(最大值在前),而名称(例如pid)或带有加号的名称(例如+pid)表示升序。下面显示的命令按进程ID排序,首先显示最大的。

linuxmi@linuxmi:~/www.linuxmi.com$ ps aux --sort -pid | head -5  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND  linuxmi 38579 0.0 0.0 11368 596 pts/2 S+ 13:33 0:00 head -5  linuxmi 38578 0.0 0.0 15124 3788 pts/2 R+ 13:33 0:00 ps aux --sort -pid  linuxmi 38571 0.2 0.1 13960 5240 pts/2 Ss 13:32 0:00 bash  root 38546 0.0 0.0 0 0 ? I 13:32 0:00 [kworker/0:3]

要按其他列排序,您需要使用其列名。在此示例中," pmem"表示内存使用的百分比,使用" -pmem"表示我们将首先查看使用最多内存的进程。您也可以使用"%mem"和"-%mem"。

linuxmi@linuxmi:~/www.linuxmi.com$ ps aux --sort -pmem | head -5  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND  mysql 1559 0.2 8.9 1282972 357304 ? Ssl 08:59 0:34 /usr/sbin/mysqld  linuxmi 23618 0.1 8.4 3424800 338068 ? Ssl 09:29 0:28 /usr/bin/gnome-shell  linuxmi 25474 0.0 7.1 971780 286636 ? Sl 09:30 0:07 /usr/bin/gnome-software --gapplication-service  linuxmi 23920 0.0 5.7 1143616 228824 ? Sl 09:29 0:08 /snap/snap-store/467/usr/bin/snap-store --gapplication-service

如果只想查看ps输出的选择列,则可以在此示例中进行指定,其中仅显示命令及其CPU使用率,并按最大CPU使用率对输出进行排序。

linuxmi@linuxmi:~/www.linuxmi.com$ ps -eo comm,pcpu --sort -pcpu | head -5  COMMAND %CPU  tracker-extract 4.6  systemd-hostnam 1.8  netdata 1.7  apps.plugin 1.7

以下是列名称和字符串的列表,可用于对它们进行排序:

Column    Ascending Descending  Heading   Sort      Sort       Alternatives  ===============================================  USER      user      -user  PID       pid       -pid  %CPU      pcpu      -pcpu      %cpu and -%cpu  %MEM      pmem      -pmem      %pmem and -%pmem  VSZ       vsz       -vsz  RSS       rss       -rss  TTY       tty       -tty  STAT      stat      -stat  START     start     -start  TIME      time      -time  COMMAND   comm      -comm

使用sort命令

您还可以将ps aux命令的输出通过管道传输到sort命令,并使用列号(1到11)选择要用于排序的列。这种方法有两个缺点:1)列标题将与ps输出的其余部分一起排序,可能会在您不希望看到的地方结束;2)当排序需要数值时,您需要在sort命令中添加一个"n"。ps命令理解这种区别;像这样的命令会根据内存使用情况进行排序。sort命令使用"-nk 4"对排序输出中的(-k 4) 4th数据列进行数字排序。

linuxmi@linuxmi:~/www.linuxmi.com$ ps aux | head -1; ps aux | sort -r -nk 4 | head -3  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND  mysql 1559 0.2 8.9 1282972 357304 ? Ssl 08:59 0:35 /usr/sbin/mysqld  linuxmi 23618 0.2 8.6 3432704 346044 ? Ssl 09:29 0:38 /usr/bin/gnome-shell  linuxmi 25474 0.0 7.1 971780 286636 ? Sl 09:30 0:07 /usr/bin/gnome-software --gapplication-service

使用别名

即使ps命令的灵活性可以满足您的需求,您也可以始终创建别名,这样就不必计数列和/或考虑列值是否为数字。这里有些例子:

alias LmCPU='ps aux --sort -%cpu'  alias LmMem='ps aux --sort -%mem'  alias TopCPU='ps aux --sort -%cpu | head -11'  alias TopMem='ps aux --sort -%mem | head -11'

感谢你能够认真阅读完这篇文章,希望小编分享的"Linux中如何使用ps命令输出进行排序"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

排序 命令 输出 进程 最大 内存 篇文章 信息 名称 情况 数字 使用率 例子 别名 最大值 标题 示例 帮助 运行 选择 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网企业 科技平台互联网 互联网 的科技创新 远信互联网科技 广州互联网络科技有限公司 青岛中康互联网医疗科技有限公司 深圳国际航运科技和互联网 广州慧亚互联网科技怎么样 欧洲十大科技互联网公司 北京华百购互联网科技有限公司 互联网科技与大数据专业 华夏恒生互联网科技013171 洛阳共同富裕互联网科技有限公司 深圳互联网科技的发展 雨阳互联网卡科技有限公司 中天科技中国工业互联网 本届互联网大会上的黑科技 九思连强互联网电子科技有限公司 万物互联网智能科技 恒生科技指数 中概互联网 广州为想互联网科技有限公司 互联网科技与金融科技 喔噻互联网科技 广州紫鲸互联网科技 互联网科技网站 互联网高科技企业 河南猎农互联网科技有限公司 互联网科技公司实习生 洛阳共同富裕互联网科技有限公司 互联网科技包装股
0