1. 程式人生 > >使用pidstat命令測量程式CPU利用率和Mem佔用率

使用pidstat命令測量程式CPU利用率和Mem佔用率

1. 簡介

pidstat命令用來監控被Linux核心管理的獨立任務(程序)。它輸出每個受核心管理的任務的相關資訊。pidstat命令也可以用來監控特定程序的子程序。間隔引數用於指定每次報告間的時間間隔,它的值為0(或者沒有引數)說明程序的統計資料的時間是從系統啟動開始計算的。
pidstat 是sysstat軟體套件的一部分,sysstat包含很多監控linux系統狀態的工具,它能夠從大多數linux發行版的軟體源中獲得。

2. 安裝

在Debian/Ubuntu系統中可以使用下面的命令來安裝:
apt-get install sysstat
CentOS/Fedora/RHEL版本的linux中則使用下面的命令:
yum install sysstat

3. 常見引數

(1) 預設引數

指令:pidstat
作用:輸出系統啟動後所有活動程序的cpu統計資訊。

(2) 指定取樣週期和取樣次數

指令:pidstat [option] interval [count]
例如:pidstat 2 10
作用:輸出以2秒為取樣週期,輸出10次cpu使用統計資訊

(3) cpu使用情況統計(-u)

指令:pidstat –u
作用:與單獨執行”pidstat”的效果一樣,顯示cpu統計資訊

(4) 記憶體使用情況統計(-r)

指令:pidstat –r
作用:顯示各活動程序的記憶體使用統計

(5) IO情況統計(-d)

指令:pidstat –d
作用:顯示程序IO的統計資訊

(6) 特定程序統計(-p)

指令:pidstat –p {pid}
例子:pidstat –p 1
作用:檢視特定程序的cpu統計資訊

4. 綜合使用

(1) 檢視特定程序的CPU使用情況

指令:pidstat –u –p {pid} {interval} [count]
例子:pidstat -u –p `pgrep admin` 1 10
作用:以1秒為資訊採集週期,採集10次程式“admin”的CPU統計資訊,最後一行會輸出10次統計資訊的平均值。
注:如要測試伺服器的CPU使用情況,同時應對此伺服器進行模擬請求,如使用Apache的基準測試工具“ab”:
ab -n 1000 -c 10 –p post.txt http://localhost:8080/runLambda/node


其中-n表示請求數,-c表示併發數,-p post.txt表示將post.txt內的引數以post方式提交。

(2) 檢視特定程序的Memory使用情況

指令:pidstat –r –p {pid} {interval} [count]
與4-(1)中類似

(3) 檢視特定程序的IO使用情況

指令:pidstat –d –p {pid} {interval} [count]
與4-(1)中類似

參考:Linux中CPU與記憶體效能監測