原文連接:http://www.bkjia.com/Linuxjc/935113.htmlhtml
參考連接:https://linux.cn/article-3215-1.html,http://lhflinux.blog.51cto.com/1961662/518868/node
dstat 是一個能夠取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat克服了這些命令的侷限並增長了一些另外的功能,增長了監控項,也變得更靈活了。dstat能夠很方便監控系統運行情況並用於基準測試和排除故障。python
dstat可讓你實時地看到全部系統資源,例如,你可以經過統計IDE控制器當前狀態來比較磁盤利用率,或者直接經過網絡帶寬數值來比較磁盤的吞吐率(在相同的時間間隔內)。linux
dstat將以列表的形式爲你提供選項信息並清晰地告訴你是在何種幅度和單位顯示輸出。這樣更好地避免了信息混亂和誤報。更重要的是,它可讓你更容易編寫插件來收集你想要的數據信息,以從未有過的方式進行擴展。ios
Dstat的默認輸出是專門爲人們實時查看而設計的,不過你也能夠將詳細信息經過CSV輸出到一個文件,並導入到Gnumeric或者Excel生成表格中。git
特性
- 結合了vmstat,iostat,ifstat,netstat以及更多的信息
- 實時顯示統計狀況
- 在分析和排障時能夠經過啓用監控項並排序
- 模塊化設計
- 使用python編寫的,更方便擴展示有的工做任務
- 容易擴展和添加你的計數器(請爲此作出貢獻)
- 包含的許多擴展插件充分說明了增長新的監控項目是很方便的
- 能夠分組統計塊設備/網絡設備,並給出總數
- 能夠顯示每臺設備的當前狀態
- 極準確的時間精度,即使是系統負荷較高也不會延遲顯示
- 顯示準確地單位和和限制轉換偏差範圍
- 用不一樣的顏色顯示不一樣的單位
- 顯示中間結果延時小於1秒
- 支持輸出CSV格式報表,並能導入到Gnumeric和Excel以生成圖形
安裝方法
1. 在centos下 能夠 yum -y instatll dstatwindows
2. 下載rpm包進行安裝centos
wget http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm安全
rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm性能優化
使用方法
dstat的基本用法就是輸入dstat命令,輸出以下:
這是默認輸出顯示的信息:
默認狀況下分五個區域:
一、 --total-cpu-usage---- CPU使用率
usr:用戶空間的程序所佔百分比;
sys:系統空間程序所佔百分比;
idel:空閒百分比;
wai:等待磁盤I/O所消耗的百分比;
hiq:硬中斷次數;
siq:軟中斷次數;
二、-dsk/total-磁盤統計
read:讀總數
writ:寫總數
三、-net/total- 網絡統計
recv:網絡收包總數
send:網絡發包總數
四、---paging-- 內存分頁統計
in: pagein(換入)
out:page out(換出)
注:系統的分頁活動。分頁指的是一種內存管理技術用於查找系統場景,一個較大的分頁代表系統正在使用大量的交換空間,一般狀況下當系統已經開始用交換空間的時候,就說明你的內存已經不夠用了,或者說內存很是分散,理想狀況下page in(換入)和page out(換出)的值是0 0。
五、--system--系統信息
int:中斷次數
csw:上下文切換
注:中斷(int)和上下文切換(csw)。這項統計僅在有比較基線時纔有意義。這一欄中較高的統計值一般表示大量的進程形成擁塞,須要對CPU進行關注。你的服務器通常狀況下都會運行運行一些程序,因此這項老是顯示一些數值。
默認狀況下,dstat 會每隔一秒刷新一次數據,一直刷新並一直輸出,按 Ctrl+C 退出 "dstat";
dstat 還有許多具體的參數,可經過man dstat命令查看,
經常使用參數以下:
經過dstat --list能夠查看dstat能使用的全部參數
- -l :顯示負載統計量
- -m :顯示內存使用率(包括used,buffer,cache,free值)
- -r :顯示I/O統計
- -s :顯示交換分區使用狀況
- -t :將當前時間顯示在第一行
- –fs :顯示文件系通通計數據(包括文件總數量和inodes值)
- –nocolor :不顯示顏色(有時候有用)
- –socket :顯示網絡統計數據
- –tcp :顯示經常使用的TCP統計
- –udp :顯示監聽的UDP接口及其當前用量的一些動態數據
固然不止這些用法,dstat附帶了一些插件很大程度地擴展了它的功能。你能夠經過查看/usr/share/dstat目錄來查看它們的一些使用方法,經常使用的有這些:
- -–disk-util :顯示某一時間磁盤的忙碌情況
- -–freespace :顯示當前磁盤空間使用率
- -–proc-count :顯示正在運行的程序數量
- -–top-bio :指出塊I/O最大的進程
- -–top-cpu :圖形化顯示CPU佔用最大的進程
- -–top-io :顯示正常I/O最大的進程
- -–top-mem :顯示佔用最多內存的進程
應用舉例:
dstat輸出默認監控、報表輸出的時間間隔爲3秒鐘,而且報表中輸出10個結果
dstat 3 10
查看所有內存都有誰在佔用:
dstat -g -l -m -s --top-mem
顯示一些關於CPU資源損耗的數據:
dstat -c -y -l --proc-count --top-cpu
如何輸出一個csv文件
# dstat –output /tmp/sampleoutput.csv -cdn
備註:輸出的的 scv 文件,能夠在 windows 下用 excel 打開,並生成圖表;