在使用Linux系统的过程中,常常需要统计系统运行中的各种资源使用情况,dstat就是这样一种统计系统资源使用的工具。

   1、下面就来看看dstat统计效果:

[root@localhost ~]# 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|  22k 2481B|   0     0 |   0     0 |  17    17
  0   0 100   0   0   0|   0     0 |  60B  330B|   0     0 |  14    10
  0   0 100   0   0   0|   0     0 | 780B  170B|   0     0 |  19    12
  0   1  99   0   0   0|   0     0 |  60B  170B|   0     0 |  14    10
  1   0  99   0   0   0|   0     0 |  60B  170B|   0     0 |  20    17
  0   0 100   0   0   0|   0     0 | 839B  212B|   0     0 |  17    13
  0   0 100   0   0   0|   0     0 |  60B  170B|   0     0 |  16    15
  0   0 100   0   0   0|   0     0 |  60B  170B|   0     0 |  15    10

   从上看出dstat可以统计cpu、硬盘、网络、page、系统等的使用情况,并且每1s向下刷新一次。


   2、dstat常用参数

       -c,--cpu # :每#秒刷新一次cpu使用情况

           -C # total:显示第#个cpu的使用,total显示全部

       -d, --disk # : 显示磁盘情况

           -D # total:显示第#块磁盘的使用,total显示全部

       -m, --mem :内存情况

       -s, --swap:swap情况

           -S swap# total:显示第#块swap磁盘的使用,total显示全部

       -n,--net:网络情况

           -N eth# total:显示#号网卡情况,total显示全部

       -p,--proc:显示process情况

       -l, --load 显示load情况,1min,5min,15min

       -r,--io:显示I/O情况(read,write)

       -y,--sys:显示系统情况(interrupts, context switches)

       --tcp,--udp,--socket,--unix:分别显示tcp,udp,socket,unix情况155625786.jpg

   3、dstat除了可以监控系统自身各个组件的运行情况外,还可以监控第三方软件的情况:

       --mysql-io

       --mysql-keys

       --mysql5-io

       --mysql5-cmds

       --mysql5-conn

       以上这些参数可以用来监控mysql的运行情况,包括I/O,connection,command,keys等

       --memcache-hits

       用来监控memcache缓存命中hits情况