PIDSTAT
NAME
pidstat對linux任務的統計
文法
pidstat [ -C comm ] [ -d ] [ -h ] [ -I ] [ -l ] [ -p { pid [,...] | SELF | ALL } ] [ -r ] [ -t ] [ -T { TASK | CHILD | ALL } ] [ -u ] [ -V ] [ -w ] [ interval [ count ] ]
描述
pidstat指令用來監控目前被linux核心管理的獨立的任務。輸出-p參數的每個任務或者-p ALL輸出所有linux核心管理的任務。如果不寫參數預設為-p ALL不過隻有活動的任務會出現在報告中。
Pidstat指令可用來監控選擇任務的子程序。具體看-T選項。
Interval參數指定每次報告的間隔時間。如果為0表示報告從系統啟動後的統計資訊。Cout參數表示生成的報告數量。如果interval沒有指定count參數會一直生成。
你可以通過指定選項來指定活動的,如果不指定則隻有現實cpu活動。
選項
-C comm
隻顯示包含comm字元串的任務。
-d
報告IO統計顯示以下資訊:
PID:程序id
kB_rd/s:每秒從磁盤讀取的KB
kB_wr/s:每秒寫入磁盤KB
kB_ccwr/s:任務取消的寫入磁盤的KB。當任務截斷髒的pagecache的時候會發生。
COMMAND:task的指令名
-h
在一行上顯示了所有活動,這樣其他程式可以容易解析。
-I
在SMP環境,表示任務的CPU使用率/核心數量
-l
顯示指令名和所有參數
-p{ pid [,...] | SELF | ALL }
選擇一個任務(程序),報告統計資訊。Pid是程序辨別符。SELF關鍵字說明pidstat報告自己的程序,如果為ALL報告系統中所有的任務。
-r
報告錯誤也和記憶體利用,當報告某個任務,顯示如下:
PID:程序辨別符
Minflt/s:任務每秒發生的次要錯誤,不需要從磁盤中加載頁
Majflt/s:任務每秒發生的主要錯誤,需要從磁盤中加載頁
VSZ:虛拟位址大小,虛拟記憶體的使用KB
RSS:常駐集合大小,非交換區五裡記憶體使用KB
Command:task指令名
當顯示全局統計所有任務和所有線程,會顯示以下值:
Minflt-nr:interval時間内,所有任務和子線程的次要錯誤。
Majflt-nr:interval時間内,所有任務和子線程的主要錯誤。
Command:指令名
-t
顯示選擇任務的線程的統計資訊外的額外資訊:
TGID:主線程的表示
TID:線程id
-T { TASK | CHILD | ALL }
這個選項指定了pidstat監控的。TASK表示報告獨立的task,CHILD關鍵字表示報告程序下所有線程統計資訊。ALL表示報告獨立的task和task下面的所有線程。
注意:task和子線程的全局的統計資訊和pidstat選項無關。這些統計資訊不會對應到目前的統計間隔,這些統計資訊隻有在子線程kill或者完成的時候才會被收集。
-u
報告CPU使用率
報告獨立程序是顯示:
PID:程序id
%usr:使用者級别cpu使用率
%system:系統級别cpu使用率
%guest:虛拟處理器的cpu使用率
%CPU:總CPU使用率
CPU:程序使用到的cpu個數。
Command:指令名
當報告任務和所有線程全局統計資訊:
PID:程序id
Usr-ms:任務和子線程在使用者級别使用的毫秒數。
System-ms:任務和子線程在系統級别使用的毫秒數。
Guest-ms:任務和子線程在虛拟機(running a virtual processor)使用的毫秒數。
-V
輸出版本号。
-w
報告上下文切換活動:
Cswch/s:每秒主動任務上下文切換數量
Nvcswch/s:每秒被動任務上下文切換數量