ps

Linux中ps命令會自動選擇一列進行排序,但有時這不是我們想要的。

方法一:

ps+sort

sort 選項與參數:

-f  :忽略大小寫的差異,例如 A 與 a 視爲編碼相同;
-b  :忽略最前面的空格符部分;
-M  :以月份的名字來排序,例如 JAN, DEC 等等的排序方法;
-n  :使用『純數字』進行排序(默認是以文字型態來排序的);
-r  :反向排序;
-u  :就是 uniq ,相同的數據中,僅出現一行代表;
-t  :分隔符,默認是用 [tab] 鍵來分隔;
-k  :以那個區間 (field) 來進行排序的意思

例如:

ps -eo rss,pmem,pcpu,vsize,args |  sort -k 1 -r -n | less

按內存使用進行降序排列

ps , -e 是顯示所有進程, -o是定製顯示信息的格式

    rss: resident set size, 表示進程佔用RAM(內存)的大小,單位是KB

    pmem: %M, 佔用內存的百分比

    pcpu:%C,佔用cpu的百分比

    vsize: 表示進程佔用的虛擬內存的大小,KB

    args:進程名(command)

    sort命令對ps結果進行排序

    -k 1 :按第一個參數 rss進行排


    -r:逆序


    -n:numeric,按數字來排序


方法二:

使用ps自有參數--sort進行排序

格式:

--sort=[+|-] key

從SORT KEYS段中選一個多字母鍵.“+”字符是可選地,因爲默認地方向就是按數字升序或者詞典順序.

比如:

按內存升序排列:ps aux --sort=rss 
按CPU降序排列:ps aux --sort=-%cpu

排序中運用的值是ps運用地內部值,並非僅用於某些輸出格式地僞值.排序鍵列表見下表:

c cmd   可執行地簡單名稱 
C cmdline   完整命令行 
f flags   長模式標誌 
g pgrp   進程地組ID 
G tpgid   控制tty進程組ID 
j cutime   累計用戶時間 
J cstime   累計系統時間 
k utime   用戶時間 
K stime   系統時間 
m min_flt   次要頁錯誤地數量 
M maj_flt   重點頁錯誤地數量 
n cmin_flt 累計次要頁錯誤 
N cmaj_flt 累計重點頁錯誤 
o session   對話ID 
p pid   進程ID 
P ppid   父進程ID 
r rss   駐留大小 
R resident 駐留頁 

s size   內存大小(千字節) 

S share   共享頁地數量 
t tty   tty次要設備號 
T start_time 進程啓動地時間 
U uid   UID
u user   用戶名
v vsize   總地虛擬內存數量(字節) 
y priority 內核調度優先級

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章