天天看點

pidstat - 監控并統計Linux程序的資料pidstat - 監控并統計Linux程序的資料

pidstat指令用來監控被linux核心管理的獨立任務(程序)。它輸出每個受核心管理的任務的相關資訊。pidstat指令也可以用來監控特定程序的子程序。間隔參數用于指定每次報告間的時間間隔。它的值為0(或者沒有參數)說明程序的統計資料的時間是從系統啟動開始計算的。

pidstat - 監控并統計Linux程式的資料pidstat - 監控并統計Linux程式的資料

<a target="_blank"></a>

pidstat 是sysstat軟體套件的一部分,sysstat包含很多監控linux系統狀态的工具,它能夠從大多數linux發行版的軟體源中獲得。

在debian/ubuntu系統中可以使用下面的指令來安裝

# apt-get install sysstat

centos/fedora/rhel版本的linux中則使用下面的指令:

# yum install sysstat

使用pidstat不加任何參數等價于加上-p參數,但是隻有正在活動的任務會被顯示出來。

# pidstat

pidstat - 監控并統計Linux程式的資料pidstat - 監控并統計Linux程式的資料

pidstat

在結果中你能看到如下内容:

pid - 被監控的任務的程序号

%usr - 當在使用者層執行(應用程式)時這個任務的cpu使用率,和 nice 優先級無關。注意這個字段計算的cpu時間不包括在虛拟處理器中花去的時間。

%system - 這個任務在系統層使用時的cpu使用率。

%guest - 任務花費在虛拟機上的cpu使用率(運作在虛拟處理器)。

%cpu - 任務總的cpu使用率。在smp環境(多處理器)中,如果在指令行中輸入-i參數的話,cpu使用率會除以你的cpu數量。

cpu - 正在運作這個任務的處理器編号。

command - 這個任務的指令名稱。

通過使用-d參數來得到i/o的統計資料。比如:

# pidstat -d -p 8472

pidstat - 監控并統計Linux程式的資料pidstat - 監控并統計Linux程式的資料

pidstat io

io 輸出會顯示一些内的條目:

kb_rd/s - 任務從硬碟上的讀取速度(kb)

kb_wr/s - 任務向硬碟中的寫入速度(kb)

kb_ccwr/s - 任務寫入磁盤被取消的速率(kb)

使用-r标記你能夠得到記憶體使用情況的資料。

pidstat - 監控并統計Linux程式的資料pidstat - 監控并統計Linux程式的資料

pidstat pf mem

重要的條目:

minflt/s - 從記憶體中加載資料時每秒出現的小的錯誤的數目,這些不要求從磁盤載入記憶體頁面。

majflt/s - 從記憶體中加載資料時每秒出現的較大錯誤的數目,這些要求從磁盤載入記憶體頁面。

vsz - 虛拟容量:整個程序的虛拟記憶體使用(kb)

rss - 長期記憶體使用:任務的不可交換實體記憶體的使用量(kb)

1. 你可以通過使用下面的指令來監測記憶體使用

# pidstat -r 2 5

這會給你5份關于page faults的統計資料結果,間隔2秒。這将會更容易的定位出現問題的程序。

2. 顯示所有mysql伺服器的子程序

# pidstat -t child -c mysql

3. 将所有的統計資料結合到一個便于閱讀的單一報告中:

# pidstat -urd -h

原文釋出時間:2014-11-19

本文來自雲栖合作夥伴“linux中國”

繼續閱讀