dstat 是一個可以取代vmstat,iostat,netstat和ifstat這些命令的多功能產品。dstat克服了這些命令的局限並增加了一些另外的功能,增加了監控項,也變得更靈活了。dstat可以很方便監控系統運行狀況並用於基準測試和排除故障。

安裝方法

Ubuntu/Mint和Debin系統

sudo apt-get install dstat

RHEL/Centos和Fedora系統:

yum install dstat

ArchLinux系統

pacman -S dstat

使用方法

dstat的基本用法就是輸入dstat命令,輸出如下:

  • cpu:當 usr 和 sys 加起來超過 80 代表你的 CPU 很忙碌,若是 wai 數值升高,代表 CPU 一直在等待,可能你的 disk I/O 不足或是出了問題。
  • dsk:硬碟的讀寫資料量/速度
  • net:網路的收/發狀況
  • paging:這個代表 swap,通常是 0,若產生數值則代表你的記憶體可能不足,必須採用 swap 來進行交換
  • system:int 代表中斷次數,csw 代表 context switch,這項數值越高則代表整體系統 work 大量且緩慢。

顯示 Load average:dstat -l

[root@fileserver ~]# dstat -l
---load-avg---
 1m   5m  15m 
0.03 0.02 0.05

顯示記憶體使用率:dstat -m

[root@fileserver ~]# dstat -m
------memory-usage-----
 used  buff  cach  free
 139M 26.8M  180M  647M

顯示 I/O:dstat -r

[root@fileserver ~]# dstat -r
--io/total-
 read  writ
0.17  0.20 
   0  7.00

顯示網路統計 socket:dstat –socket

[root@fileserver ~]# dstat -tcp
----system---- ----total-cpu-usage---- ---procs---
  date/time   |usr sys idl wai hiq siq|run blk new
08-02 02:54:09|  0   0 100   0   0   0|  0   0 0.0

更有效的系統分析參數

  • dstat --proc-count 統計所有工作程式數量
  • dstat --top-bio 指出目前 I/O 讀寫最大的程式
  • dstat --top-cpu 指出目前 CPU 佔用最大的程式
  • dstat --top-mem 指出目前 mem 佔用最多的程式

輸出 CSV

[root@fileserver ~]# dstat --output /tmp/dstat_test.csv
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  0   0 100   0   0   0|4435B 1465B|   0     0 |   0     0 |  18    41

查看全部記憶體都有誰在佔用

[root@fileserver ~]# dstat -g -l -m -s --top-mem
---paging-- ---load-avg--- ------memory-usage----- ----swap--- --most-expensive-
  in   out | 1m   5m  15m | used  buff  cach  free| used  free|  memory process 
   0     0 |   0 0.01 0.05| 139M 26.8M  180M  646M|   0  2016M|mysqld      88.0M

顯示一些關於CPU資源損耗的資料

[root@fileserver ~]# dstat -c -y -l --proc-count --top-cpu
----total-cpu-usage---- ---system-- ---load-avg--- proc -most-expensive-
usr sys idl wai hiq siq| int   csw | 1m   5m  15m |tota|  cpu process   
  0   0 100   0   0   0|  18    41 |   0 0.01 0.05|  74|mysqld       0.2

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料