接上篇文章簡單介紹了uptime,top等工具,此篇主要介紹sysstat工具包中包含的工具mpstat和iostat,至于sar會在后邊做相關(guān)總結(jié)。
4> mpstat:處理器相關(guān)統(tǒng)計(jì)報(bào)告
安裝:
$ sudo apt-get install sysstat
用法:
mpstat [ -A ] [ -I { SUM | CPU | SCPU | ALL } ] [ -u ] [ -P { cpu [,...] | ON | ALL } ] [ -V ] [ interval [ count ] ]
參數(shù)解析:
-A #相當(dāng)于使用-I ALL -u -P ALL
-I {SUM | CPU | SCPU | ALL} #報(bào)告中斷的統(tǒng)計(jì)資料
SUM: #mpstat命令報(bào)告每個處理器的中斷總數(shù)。顯示的值如下:
CPU: #處理器編號,all表示顯示統(tǒng)計(jì)信息的值為所有處理器的平均值
intr/s: #顯示每秒接收到的CPU或CPUs的中斷總數(shù)。
CPU: #顯示CPU每秒接收到的每個中斷的數(shù)量
SCPU: #顯示CPU每秒接收到的每一個單獨(dú)的軟件中斷的數(shù)量,此選項(xiàng)僅適用于內(nèi)核2.6.31和更高版本。
ALL: #相當(dāng)于指定以上所有關(guān)鍵字
-P { cpu [,...] | ON | ALL } #指定處理器編號顯示其統(tǒng)計(jì)報(bào)告
cpu: #cpu為處理器編號,處理器0是所述第一個處理器。
ON: #每一個正在使用的處理器的統(tǒng)計(jì)報(bào)告
ALL: #所有處理器的統(tǒng)計(jì)報(bào)告。
-u #報(bào)告的CPU利用率,顯示的值如下:
CPU: #處理器編號,all表示顯示統(tǒng)計(jì)信息的值為所有處理器的平均值
%usr: #用戶層使用的CPU利用率的百分比
%nice: #有優(yōu)先級的用戶層使用的CPU利用率的百分比
%sys: #內(nèi)核層使用的CPU利用率的百分比,此步包含軟硬中斷的時間
%iowait: #CPU因?yàn)槲唇鉀Q的磁盤IO的請求而閑置的時間百分比
%irq: #顯示CPU服務(wù)于硬件中斷所花費(fèi)的時間的百分比
%soft: #顯示CPU服務(wù)于軟件中斷所花費(fèi)的時間的百分比
%steal: #顯示當(dāng)管理程序維護(hù)另一個虛擬處理器,虛擬的cpu花在強(qiáng)制等待時間百分比
%guest: #顯示CPU運(yùn)行一個虛擬處理器所花的時間百分比
%idle: #顯示系統(tǒng)沒有未解決的磁盤IO請求,CPU閑置的時間百分比
#NOTE:重點(diǎn)關(guān)注%iowait,%idle
-V #顯示版本號
更多詳情參照mpstat手冊:$ man mpstat
示例
$ mpstat 2 5 #顯示全局統(tǒng)計(jì)5次,時間間隔為2s
$ mpstat -P ALL 2 5 #顯示所有cpu的統(tǒng)計(jì)5次,時間間隔為2
5> iostat:主要監(jiān)控磁盤設(shè)備:The iostat command generates three types of reports, the CPU Utilization report, the Device Utilization report and the Network Filesystem report
以下為介紹設(shè)備和分區(qū)的利用率報(bào)告的值(CPU的報(bào)告詳見mpstat介紹):
Device #設(shè)備(分區(qū))名(/dev目錄下)
tps #每秒設(shè)備發(fā)出的傳輸總數(shù)。一次傳輸就是對設(shè)備的一個I/O請求,多個邏輯請求可被整合成一個單一的I/O請求。因此一次傳輸具體無法確定大小。
Blk_read/s (kB_read/s, MB_read/s) #每秒從設(shè)備的讀取的數(shù)據(jù)的數(shù)量(用blocks的數(shù)量表示)
Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s) #每秒寫入設(shè)備的數(shù)據(jù)的數(shù)量
Blk_read (kB_read, MB_read) #讀取的blocks的總數(shù)
Blk_wrtn (kB_wrtn, MB_wrtn) #寫入的blocks的總數(shù)
rrqm/s #隊(duì)列中的每秒合并的讀的請求數(shù)
wrqm/s #隊(duì)列中的每秒合并的寫的請求數(shù)
r/s #每秒已完成的讀的請求數(shù)(after merges)
w/s #每秒已完成的寫的請求數(shù)(after merges)
rsec/s (rkB/s, rMB/s) #每秒從設(shè)備讀的扇區(qū)數(shù)
wsec/s (wkB/s, wMB/s) #每秒寫入設(shè)備扇區(qū)數(shù)
avgrq-sz #請求的數(shù)據(jù)平均大小(扇區(qū)數(shù))
avgqu-sz #請求的平均隊(duì)列長度
await #處理I/O請求的平均時間(毫秒),其包含請求在隊(duì)列中的時間和處理它們的時間
r_await #處理I/O讀的請求的平均時間(毫秒)
w_await #處理的I/O寫的請求的平均時間
svctm #This field will be removed in a future sysstat version
%util #I/O操作的時間占用的CPU總時間的百分比
選項(xiàng):
-c #只顯示CPU利用率的報(bào)告
-d #只顯示塊設(shè)備的使用報(bào)告
-m #以mbps顯示
-p[ { device [,...] | ALL } ] #指定設(shè)備名,all為所有
-t #顯示時間
-V #顯示版本
-x #顯示擴(kuò)展的統(tǒng)計(jì)
-z #省略不活動的設(shè)備
示例:
$ iostat #顯示從開機(jī)的所有CPU和Devices的報(bào)告
$ iostat -d 2 #每隔2秒顯示一次device的報(bào)告
$ iostat -d 2 6 #每隔2秒顯示6次設(shè)備的信息統(tǒng)計(jì)
$ iostat -x sda sdb 2 6 #每隔2秒顯示6次sda和sdb的擴(kuò)展統(tǒng)計(jì)
$ iostat -p sda 2 6 #每隔2秒顯示6次sda和它的分區(qū)的統(tǒng)計(jì)
mpstat和iostat已簡單總結(jié),獲取更多東西建議看手冊且實(shí)際操作一下。
文章題目:Linux系統(tǒng)分析工具之mpstat,iostat(二)
網(wǎng)站網(wǎng)址:
http://weahome.cn/article/ipjips.html