?
CPU監(jiān)控命令之mpstat命令
1
概述:
dstat是可以替代vmstat,IOStat,netstat,ifstat的綜合型替代品。同時(shí)去掉了他們的一些限制并加入了一些額外的特性,更多的組件和靈活性
dstat允許你實(shí)時(shí)查看系統(tǒng)資源的概要。例如,你能與IDE控制器的中斷組合來對(duì)比磁盤利用率,或通過磁盤吞吐量來對(duì)比網(wǎng)絡(luò)的帶寬數(shù)量
2
安裝方法:
Ubuntu/Mint和Debin系統(tǒng):
本地軟件庫中有相關(guān)安裝包,你可以用下面命令安裝:
# sudo apt-get install dstat
RHEL/centos和Fedora系統(tǒng):
你可以在romforge軟件庫中添加有相關(guān)安裝包,參照指導(dǎo),使用如下命令很簡(jiǎn)單就能進(jìn)行安裝:
# yum install dstat
3
常用命令格式:
dstat [-afv] [options..] [delay [count]]
4
命令參數(shù):
-c cpu是也,顯示CPU系統(tǒng)占用,用戶占用,空閑,等待,中斷,軟件中斷等信息
-C 當(dāng)有多個(gè)CPU時(shí)候,此參數(shù)可按需分別顯示cpu狀態(tài)
-d disk是也,顯示磁盤讀寫數(shù)據(jù)大小
-D hda and total
-n net 顯示網(wǎng)絡(luò)狀態(tài)
-N net 有多塊網(wǎng)卡時(shí),指定要顯示的網(wǎng)卡
-l load average 顯示系統(tǒng)負(fù)載情況
-m memory 顯示內(nèi)存使用情況
-g page 顯示頁面使用情況
-p process 顯示進(jìn)程狀態(tài)
-s swap 顯示交換分區(qū)使用情況
-S 類似D/N -r I/O請(qǐng)求情況
-y system status
--ipc 顯示ipc消息隊(duì)列,信號(hào)等信息
--socket 用來顯示tcp udp端口狀態(tài)
-a all 此為默認(rèn)選項(xiàng) 等同于 -cdngy
-v vmstat 等同于 -pmgdsc -D total
--output 文件 此選項(xiàng)也比較有用,可以把狀態(tài)信息以csv的格式重定向到指定的文件中,以便日后查看。
5
使用實(shí)例:
01
實(shí)例1:
命令:查看cpu使用情況:
dstat -c
輸出:
說明:
usr: 用戶進(jìn)程消耗的CPU時(shí)間百分比
usr的值比較高時(shí),說明用戶進(jìn)程消耗的CPU時(shí)間多,若長(zhǎng)期超過50%的使用,需要考慮優(yōu)化程序算法或 者進(jìn)行加速。
sys: 內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比。sys的值高時(shí),說明系統(tǒng)內(nèi)核消耗的CPU資源多,這并不是良性的表現(xiàn),需要檢查原因。
idl: CPU處在空閑狀態(tài)時(shí)間百分比
wai: IO等待消耗的CPU時(shí)間百分比。wa的值高時(shí),說明IO等待比較嚴(yán)重,這可能是由于磁盤大量作隨機(jī)訪問造成,也有可能是磁盤的帶寬出現(xiàn)瓶頸(塊操作)。
hiq: 硬中斷次數(shù)。
siq: 軟中斷次數(shù)。
02
實(shí)例2:
命令:查看全部?jī)?nèi)存使用情況:
dstat -m
輸出:
說明:
used: 使用的物理內(nèi)存值。
buff: buffer cache的內(nèi)存,對(duì)塊設(shè)備的讀寫進(jìn)行緩沖。
cache: page cache的內(nèi)存, 文件系統(tǒng)的cache。若cache的值大說明cache住的文件數(shù)多,若頻繁訪問到的文件都能被cache住,那么磁盤的讀IO bi 會(huì)非常小。
free: 空閑的物理內(nèi)存。
03
實(shí)例3:
命令:查看系統(tǒng)的網(wǎng)絡(luò)狀態(tài)
dstat -n
輸出:
04
實(shí)例4:
命令:查看系統(tǒng)的負(fù)載情況
dstat -l
輸出:
05
實(shí)例5
命令:查看系統(tǒng)的進(jìn)程信息
dstat -p
輸出:
06
實(shí)例6
命令:查看系統(tǒng)的I/O請(qǐng)求情況
dstat -r
輸出:
dstat的功能非常強(qiáng)大,除了上述常用用法外,更多功能大家自己研究
6
特性:
結(jié)合了vmstat,iostat,ifstat,netstat以及更多的信息
實(shí)時(shí)顯示統(tǒng)計(jì)情況
在分析和排障時(shí)可以通過啟用監(jiān)控項(xiàng)并排序
模塊化設(shè)計(jì)
使用Python編寫的,更方便擴(kuò)展現(xiàn)有的工作任務(wù)
容易擴(kuò)展和添加你的計(jì)數(shù)器(請(qǐng)為此做出貢獻(xiàn))
包含的許多擴(kuò)展插件充分說明了增加新的監(jiān)控項(xiàng)目是很方便的
可以分組統(tǒng)計(jì)塊設(shè)備/網(wǎng)絡(luò)設(shè)備,并給出總數(shù)
可以顯示每臺(tái)設(shè)備的當(dāng)前狀態(tài)
極準(zhǔn)確的時(shí)間精度,即便是系統(tǒng)負(fù)荷較高也不會(huì)延遲顯示
顯示準(zhǔn)確地單位和和限制轉(zhuǎn)換誤差范圍
用不同的顏色顯示不同的單位
顯示中間結(jié)果延時(shí)小于1秒
支持輸出CSV格式報(bào)表,并能導(dǎo)入到Gnumeric和Excel以生成圖形






