Docker 的優點
653
2025-03-31
pidstat概述
Linux-pidstat監控并統計Linux進程的數據
pidstat命令用來監控被Linux內核管理的獨立任務(進程)。它輸出每個受內核管理的任務的相關信息。pidstat命令也可以用來監控特定進程的子進程。間隔參數用于指定每次報告間的時間間隔。它的值為0(或者沒有參數)說明進程的統計數據的時間是從系統啟動開始計算的。
安裝pidstat
pidstat 是sysstat軟件套件的一部分,sysstat包含很多監控linux系統狀態的工具,它能夠從大多數linux發行版的軟件源中獲得。
在Debian/Ubuntu系統中可以使用下面的命令來安裝
# apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中則使用下面的命令:
# yum install sysstat
使用pidstat
使用pidstat不加任何參數等價于加上-p參數,但是只有正在活動的任務會被顯示出來。
# pidstat
在結果中你能看到如下內容:
PID - 被監控的任務的進程號
%usr - 當在用戶層執行(應用程序)時這個任務的cpu使用率,和 nice
優先級無關。注意這個字段計算的cpu時間不包括在虛擬處理器中花去的時間。
%system - 這個任務在系統層使用時的cpu使用率。
%guest - 任務花費在虛擬機上的cpu使用率(運行在虛擬處理器)。
%CPU - 任務總的cpu使用率。在SMP環境(多處理器)中,如果在命令行中輸入-I參數的話,cpu使用率會除以你的cpu數量。
CPU - 正在運行這個任務的處理器編號。
Command - 這個任務的命令名稱。
I/O 統計數據
通過使用-d參數來得到I/O的統計數據。比如:
[xgj@entel2 ~]$ pidstat -d -p 2749 Linux 3.10.5-3.el6.x86_64 (entel2) 01/19/2017 _x86_64_ (24 CPU) 08:20:06 PM PID kB_rd/s kB_wr/s kB_ccwr/s Command 08:20:06 PM 2749 0.00 0.00 0.00 mdbJob [xgj@entel2 ~]$
IO 輸出會顯示一些內的條目:
kB_rd/s - 任務從硬盤上的讀取速度(kb)
kB_wr/s - 任務向硬盤中的寫入速度(kb)
kB_ccwr/s - 任務寫入磁盤被取消的速率(kb)
頁面失敗和內存使用
使用-r標記你能夠得到內存使用情況的數據。
[xgj@entel2 ~]$ pidstat -r -p 2749 Linux 3.10.5-3.el6.x86_64 (entel2) 01/19/2017 _x86_64_ (24 CPU) 08:21:04 PM PID minflt/s majflt/s VSZ RSS %MEM Command 08:21:04 PM 2749 0.00 0.00 1708464 34100 0.03 mdbJob [xgj@entel2 ~]$
重要的條目:
minflt/s - 從內存中加載數據時每秒出現的小的錯誤的數目,這些不要求從磁盤載入內存頁面。
majflt/s - 從內存中加載數據時每秒出現的較大錯誤的數目,這些要求從磁盤載入內存頁面。
VSZ - 虛擬容量:整個進程的虛擬內存使用(kb)
RSS - 長期內存使用:任務的不可交換物理內存的使用量(kb)
案例
1. 你可以通過使用下面的命令來監測內存使用
# pidstat -r 2 5
這會給你5份關于page faults的統計數據結果,間隔2秒。這將會更容易的定位出現問題的進程。
2. 顯示所有mysql服務器的子進程
# pidstat -T CHILD -C OCPro Linux 2.6.32-431.el6.x86_64 (centos6.5) 01/20/2017 _x86_64_ (8 CPU) 12:40:42 AM PID usr-ms system-ms guest-ms Command 12:40:42 AM 22022 3200 3920 0 OCPro 12:40:42 AM 22027 3310 4200 0 OCPro 12:40:42 AM 22032 3240 4010 0 OCPro 12:40:42 AM 22037 3270 4010 0 OCPro 12:40:42 AM 22042 3110 3940 0 OCPro
3. 將所有的統計數據結合到一個便于閱讀的單一報告中:
# pidstat -urd -h
Linux 任務調度
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。