天天學一個 Linux 命令(103):dstat

命令簡介

dstat 命令是一個用來替換 vmstat、iostat、netstat、nfsstat 和 ifstat 這些命令的工具,通用的系統資源統計工具,是一個全能系統信息統計工具。python

[root@centos7 ~]# dstat
-bash: dstat: command not found
[root@centos7 ~]# yum install dstat -y

dstat特色mysql

  • 結合了vmstat,iostat,ifstat,netstat以及更多的信息ios

  • 實時顯示統計狀況sql

  • 在分析和排障時能夠經過啓用監控項並排序centos

  • 模塊化設計bash

  • 使用python編寫的,更方便擴展示有的工做任務網絡

  • 容易擴展和添加你的計數器(請爲此作出貢獻)socket

  • 包含的許多擴展插件充分說明了增長新的監控項目是很方便的tcp

  • 能夠分組統計塊設備/網絡設備,並給出總數ide

  • 能夠顯示每臺設備的當前狀態

  • 極準確的時間精度,即使是系統負荷較高也不會延遲顯示

  • 顯示準確地單位和和限制轉換偏差範圍

  • 用不一樣的顏色顯示不一樣的單位

  • 顯示中間結果延時小於1秒

  • 支持輸出CSV格式報表,並能導入到Gnumeric和Excel以生成圖形

語法格式

dstat [-afv] [options..] [delay [count]]

選項說明

-c  #顯示CPU系統佔用,用戶佔用,空閒,等待,中斷,軟件中斷等信息
-C  #可按需分別顯示cpu狀態
-d  #顯示磁盤讀寫數據大小
-n  #顯示網絡狀態
-N  #指定要顯示的網卡
-l  #顯示系統負載狀況
-m  #顯示內存使用狀況
-g  #顯示頁面使用狀況
-p  #顯示進程狀態
-s  #顯示交換分區使用狀況
-S  #相似D/N
-r  #I/O請求狀況
-y  #系統狀態
--ipc     #顯示ipc消息隊列,信號等信息
--socket  #用來顯示tcp udp端口狀態
--output 文件  #把狀態信息以csv的格式重定向到指定的文件中

應用舉例

[root@centos7 ~]# dstat
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  1   0  98   0   0   0|6268B 1784B|   0     0 |   0     0 |  44    39 
  0   0 100   0   0   0|   0     0 | 120B  842B|   0     0 |  50    68 
  0   0  99   1   0   0|   0     0 | 244B  362B|   0     0 |  53    61 
  1   1  98   0   0   0|   0    20k| 152B  362B|   0     0 |  54    55 
  1   0  99   0   0   0|   0     0 |  60B  362B|   0     0 |  42    54

輸出顯示的信息,默認狀況下分五個區域:

--total-cpu-usage--CPU使用率
usr  #用戶空間的程序所佔百分比
sys  #系統空間程序所佔百分比
ide  #空閒百分比
wai  #等待磁盤I/O所消耗的百分比
hiq  #硬中斷次數
siq  #軟中斷次數
--dsk/total--磁盤統計
read  #讀總數
writ  #寫總數
--net/total-- 網絡統計
recv  #網絡收包總數
send  #網絡發包總數
--paging-內存分頁統計
in  #pagein(換入)
out #page out(換出)
--system--系統信息
int  #中斷次數
csw  #上下文切換

圖片

監控 swap,process,sockets,filesystem 並顯示監控的時間

[root@centos7 ~]# dstat -tsp --socket --fs

圖片

查看所有內存佔用狀況

[root@centos7 ~]# dstat -g -l -m -s --top-mem

圖片

查看 dstat 能使用的全部參數

[root@centos7 ~]# dstat --list
internal:
 aio, cpu, cpu24, disk, disk24, disk24old, epoch, fs, int, int24, io, ipc, load, lock, mem, 
 net, page, page24, proc, raw, socket, swap, swapold, sys, tcp, time, udp, unix, vm
/usr/share/dstat:
 battery, battery-remain, cpufreq, dbus, disk-tps, disk-util, dstat, dstat-cpu, dstat-ctxt, 
 dstat-mem, fan, freespace, gpfs, gpfs-ops, helloworld, innodb-buffer, innodb-io, innodb-ops, 
 lustre, memcache-hits, mysql-io, mysql-keys, mysql5-cmds, mysql5-conn, mysql5-io, 
 mysql5-keys, net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, 
 qmail, rpc, rpcd, sendmail, snooze, squid, test, thermal, top-bio, top-bio-adv, 
 top-childwait, top-cpu, top-cpu-adv, top-cputime, top-cputime-avg, top-int, top-io, 
 top-io-adv, top-latency, top-latency-avg, top-mem, top-oom, utmp, vm-memctl, vmk-hba, 
 vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi

dstat插件功能

-–disk-util    #顯示某一時間磁盤的忙碌情況
-–freespace    #顯示當前磁盤空間使用率
-–proc-count   #顯示正在運行的程序數量
-–top-bio      #指出塊I/O最大的進程
-–top-cpu      #圖形化顯示CPU佔用最大的進程
-–top-io       #顯示正常I/O最大的進程
-–top-mem      #顯示佔用最多內存的進程

image

天天學一個 Linux 命令(100):iotop

天天學一個 Linux 命令(101):pstree

天天學一個 Linux 命令(102):tac

相關文章
相關標籤/搜索