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