2016年4月30日 星期六

dstat 監控你的 Linux 系統效能

前陣子在爬文看到一個好用的系統監視工具 dstat,實際使用過後根本超級好用,號稱可取代 vmstat , iostat .. 等效能監視工具

 

dstat 是基於 python 開發並且提供原始碼,提供各式各樣的監視訊息,並且擁有顏色顯示不同的單位,還可以 out file 之後再查看

 

在 CentOS 你可以直接 yum 安裝
$ yum install dstat



 

 

基本用法:dstat
$ dstat 

----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 99 0 0 0|7681B 3986B| 0 0 | 0 0 | 90 120
0 0 100 0 0 0| 0 0 | 132B 314B| 0 0 | 85 115


  • 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
$ dstat -l 

---load-avg---
1m 5m 15m
0 0.10 0.08
0 0.10 0.08

 

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

------memory-usage-----
used buff cach free
2500M 7284k 47.8M 78.4M
2500M 7284k 47.8M 78.4M

 

顯示 I/O:dstat -r
$ dstat -r 

--io/total-
read writ
0.35 0.96

 

顯示網路統計 socket:dstat --socket
$ dstat --socket 

------sockets------
tot tcp udp raw frg
217 10 3 0 0
218 11 3 0 0

 

顯示 tcp 統計:dstat -tcp
$ dstat -tcp 

----system---- ----total-cpu-usage---- ---procs---
date/time |usr sys idl wai hiq siq|run blk new
30-04 02:28:37| 1 0 98 0 0 0| 0 0 0.1
30-04 02:28:38| 0 0 100 0 0 0| 0 0 0

 

更有效的系統分析參數

  • dstat --proc-count 統計所有工作程式數量

  • dstat --top-bio 指出目前 I/O 讀寫最大的程式

  • dstat --top-cpu 指出目前 CPU 佔用最大的程式

  • dstat --top-mem 指出目前 mem 佔用最多的程式


 

對於系統分析你也可以輸出 CSV
$ dstat --output /tmp/dstat_test.csv

 

 

所有的指令參數你都可以配合使用

 

Orignal From: dstat 監控你的 Linux 系統效能

沒有留言:

張貼留言