自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何對Linux ps命令輸出進(jìn)行排序

系統(tǒng) Linux
ps命令是理解Linux系統(tǒng)上運(yùn)行的內(nèi)容和每個進(jìn)程使用的資源的關(guān)鍵。了解如何顯示ps以任何方式提供的信息都是非常有用的,這些信息可以幫助您集中精力解決您要解決的問題。

ps命令是理解Linux系統(tǒng)上運(yùn)行的內(nèi)容和每個進(jìn)程使用的資源的關(guān)鍵。了解如何顯示ps以任何方式提供的信息都是非常有用的,這些信息可以幫助您集中精力解決您要解決的問題。這樣做的一個方面是能夠按任何列對ps aux命令的輸出進(jìn)行排序,以突出顯示特定的信息,例如進(jìn)程使用了多少內(nèi)存或運(yùn)行了多長時間。

技巧包括使用ps命令的 --sort 選項并知道如何指定要用于排序的列。默認(rèn)情況下,ps按進(jìn)程id(PID)排序,首先顯示最小的。PID 1將出現(xiàn)在列表的頂部,在列標(biāo)題的正下方。其余的將按數(shù)字順序排列。

下面是一個標(biāo)準(zhǔn)ps-aux輸出的例子??赡芸雌饋砗苎凼?。

 

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

 

 使用--sort選項,如果按PID排序,您將得到相同的輸出。注意,您需要輸入小寫的“pid”。但是,您可以將“pid”更改為任何其他列并按該列排序。

 

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

 

要查看首先列出的選定列的最大值,必須更改排序選項(例如,用-pid代替pid)。請注意,在這種情況下,顯示如何以最高的進(jìn)程ID開始。將-看作是降序值(最大值在前),而名稱(例如pid)或帶有加號的名稱(例如+pid)表示升序。下面顯示的命令按進(jìn)程ID排序,首先顯示最大的。

 

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

 

要按其他列排序,您需要使用其列名。在此示例中,“ pmem”表示內(nèi)存使用的百分比,使用“ -pmem”表示我們將首先查看使用最多內(nèi)存的進(jìn)程。您也可以使用“%mem”和“-%mem”。

 

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

 

如果只想查看ps輸出的選擇列,則可以在此示例中進(jìn)行指定,其中僅顯示命令及其CPU使用率,并按最大CPU使用率對輸出進(jìn)行排序。

 

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

以下是列名稱和字符串的列表,可用于對它們進(jìn)行排序: 

  1. Column    Ascending Descending  
  2. Heading   Sort      Sort       Alternatives  
  3. ===============================================  
  4. USER      user      -user  
  5. PID       pid       -pid  
  6. %CPU      pcpu      -pcpu      %cpu and -%cpu  
  7. %MEM      pmem      -pmem      %pmem and -%pmem  
  8. VSZ       vsz       -vsz  
  9. RSS       rss       -rss  
  10. TTY       tty       -tty  
  11. STAT      stat      -stat  
  12. START     start     -start  
  13. TIME      time      -time  
  14. COMMAND   comm      -comm 

使用sort命令

您還可以將ps aux命令的輸出通過管道傳輸?shù)絪ort命令,并使用列號(1到11)選擇要用于排序的列。這種方法有兩個缺點(diǎn):1)列標(biāo)題將與ps輸出的其余部分一起排序,可能會在您不希望看到的地方結(jié)束;2)當(dāng)排序需要數(shù)值時,您需要在sort命令中添加一個“n”。ps命令理解這種區(qū)別;像這樣的命令會根據(jù)內(nèi)存使用情況進(jìn)行排序。sort命令使用"-nk 4"對排序輸出中的(-k 4) 4th數(shù)據(jù)列進(jìn)行數(shù)字排序。

 

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

 

使用別名

即使ps命令的靈活性可以滿足您的需求,您也可以始終創(chuàng)建別名,這樣就不必計數(shù)列和/或考慮列值是否為數(shù)字。這里有些例子:

 

  1. alias LmCPU='ps aux --sort -%cpu'  
  2. alias LmMem='ps aux --sort -%mem'  
  3. alias TopCPU='ps aux --sort -%cpu | head -11'  
  4. alias TopMem='ps aux --sort -%mem | head -11' 

 

總結(jié)

ps命令使按任何數(shù)據(jù)列對輸出進(jìn)行排序變得相當(dāng)容易。了解關(guān)于 --sort 選項和如何使用它的更多信息,以及如何將ps輸出傳遞給sort命令。 

 

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2016-12-01 15:43:41

Linuxls命令

2021-09-02 22:52:16

ValueDictionary排序

2022-11-11 14:48:41

內(nèi)存top命令

2010-06-24 14:24:39

Linux Cat命令

2021-11-08 10:58:08

變量依賴圖排序

2010-06-23 14:28:23

LINUX Bash

2010-06-11 16:57:37

Linux 查看進(jìn)程

2009-10-27 16:14:11

linux進(jìn)程查看

2010-06-13 15:13:45

Linux 查看進(jìn)程

2024-01-25 18:13:23

LinuxLVM工具

2020-07-07 13:00:00

Linux壓力測試

2011-08-22 14:38:40

linux服務(wù)器分區(qū)

2023-06-06 16:10:11

2009-12-25 10:48:23

ps -aux

2010-01-22 10:54:45

Linux操作系統(tǒng)PS命令

2012-05-04 09:24:02

Linuxps命令

2017-09-04 09:38:49

Linux開機(jī)啟動項清理

2015-12-14 16:03:45

LinuxUnix端口掃描

2010-07-21 10:36:18

SQL Server

2010-05-26 18:43:42

SVN庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號