pidstat命令詳解
pidstat 命令是
sysstat 工具的一個命令,用來監控全部或者指定
進程的CPU、內存、線程、設備IO等系統資源的占用情況。
pidstat 首次運行時顯示自系統啟動開始的各項統計信息,之后運行
pidstat將顯示自上次運行該命令之后的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。
pidstat可以監控到進程級別的信息;這就意味着我們就可以直接定位問題源頭。
pidstat 常用命令格式如下:
pidstat [參數] [時間] [次數]
常用參數說明如下:
-u 默認的參數,顯示各個進程的CPU使用統計 -r 顯示各個進程的內存使用統計 -d 顯示各個進程的IO使用情況 -p 指定進程號 -w 顯示每個進程的上下文切換情況 -t 顯示選擇任務的線程的統計信息外的額外信息 -T { TASK | CHILD | ALL } 這個選項指定了pidstat監控的。TASK表示報告獨立的task,CHILD關鍵字表示報告進程下所有線程統計信息。ALL表示報告獨立的task和task下面的所有線程。 注意:task和子線程的全局的統計信息和pidstat選項無關。這些統計信息不會對應到當前的統計間隔,這些統計信息只有在子線程kill或者完成的時候才會被收集。 -V:版本號 -h:在一行上顯示了所有活動,這樣其他程序可以容易解析。 -I:在SMP環境,表示任務的CPU使用率/內核數量 -l:顯示命令名和所有參數
使用實例
命令:pidstat和pidstat -u -p ALL
說明:pidstat和pidstat -u -p ALL是等效的,默認顯示所有進程的CPU使用率

輸出:
UID:用戶ID PID:進程ID %usr:進程在用戶空間占用CPU的百分比 %system:進程在內核空間占用CPU的百分比 %guest:任務花費在虛擬機上的CPU使用率(運行在虛擬處理器) %CPU:任務總的CPU使用率 CPU:正在運行這個任務的處理器編號 Command:這個任務的命令名稱
pidstat -r -p 1 1
linux:~ # pidstat -r -p 1 1 Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_ 18:26:17 PID minflt/s majflt/s VSZ RSS %MEM Command 18:26:18 1 0.00 0.00 10380 640 0.00 init 18:26:19 1 0.00 0.00 10380 640 0.00 init

pidstat常用命令
使用pidstat進行問題定位時,以下命令常被用到:
pidstat -u 1 pidstat -r 1 pidstat -d 1
以上命令以1秒為信息采集周期,分別獲取cpu、內存和磁盤IO的統計信息。




參考文章
https://blog.csdn.net/qq_33801641/article/details/107970850
