Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1827711
  • 博文数量: 636
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3950
  • 用 户 组: 普通用户
  • 注册时间: 2014-08-06 21:58
个人简介

博客是我工作的好帮手,遇到困难就来博客找资料

文章分类

全部博文(636)

文章存档

2024年(5)

2022年(2)

2021年(4)

2020年(40)

2019年(4)

2018年(78)

2017年(213)

2016年(41)

2015年(183)

2014年(66)

我的朋友

分类: 系统运维

2015-08-12 20:29:33

一、简介
dstat是一个用来替换vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具.它是由Python编写的, 与sysstat相比,dstat是以一个彩色的界面动态显示,这样数据比较显眼,容易观察,一目了然; 而且dstat支持即时刷新,可以使用相关参数指定显示哪些内容!下后会有说明。下面开始进入dstat的神秘世界!!!!!!!!!!!!!!官方站点:
二、下载安装
[root@PY-proxy1 ~]# wget
--08:37:36--  
           => `dstat-0.7.2-1.el5.rfx.noarch.rpm'
正在解析主机 pkgs.repoforge.org... 78.46.17.228
Connecting to pkgs.repoforge.org|78.46.17.228|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 302 Found
位置: [跟随至新的 URL]
--08:37:40--  
           => `dstat-0.7.2-1.el5.rfx.noarch.rpm'
正在解析主机 rpmforge.sw.be... 78.46.17.228
Connecting to rpmforge.sw.be|78.46.17.228|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置: [跟随至新的 URL]
--08:37:47--  
           => `dstat-0.7.2-1.el5.rfx.noarch.rpm'
正在解析主机 tree.repoforge.org... 78.46.17.228
Connecting to tree.repoforge.org|78.46.17.228|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置: [跟随至新的 URL]
--08:37:50--  
           => `dstat-0.7.2-1.el5.rfx.noarch.rpm'
正在解析主机 apt.sw.be... 193.1.193.67
Connecting to apt.sw.be|193.1.193.67|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:249,282 (243K) [application/x-redhat-package-manager]


100%[======================================================>] 249,282       74.90K/s    ETA 00:00


08:37:57 (74.81 KB/s) - `dstat-0.7.2-1.el5.rfx.noarch.rpm' saved [249282/249282]

安装:
[root@PY-proxy1 ~]# rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm 
warning: dstat-0.7.2-1.el5.rfx.noarch.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...                ########################################### [100%]
   1:dstat                  ########################################### [100%]
三、使用
1.使用语法dstat [-afv][options..] [delay [count]]  

简单执行 dstat 命令:在不带任务参数的情况它只会collectlcpu、disk、net、paging、system这些数据, 默认是 1s 收集一次. 默认输入dstat等于输入了dstat -cdngy 1或dstat-a 1.
[root@PY-proxy1 ~]# 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 
  2   1  94   3   0   0| 179k  308k|   0     0 |   0     2B|1570  1079 
  9   4  72  14   1   0| 148k    0 |1347k 1938k|   0     0 |4004  1410 
  7   3  79  10   1   0|  36k 2024k|1305k 1227k|   0     0 |3814  1519 
  7   3  73  16   1   0| 112k 3352k|1129k 1167k|   0     0 |3456  1284 
  8   3  77  12   0   0| 104k  184k|1040k 1290k|   0     0 |3478  1701 
 10   3  79   8   1   0| 160k    0 | 994k 1352k|   0     0 |3568  1539 
 11   3  78   8   1   0| 220k    0 | 744k  832k|   0     0 |3290  1182 
 10   4  52  34   1   0| 452k 1792k| 812k  896k|   0     0 |3185  1379 
 11   4  24  62   1   0| 392k 2548k| 901k 1012k|   0     0 |3513  1600 
  3   1   0  96   0   0| 324k  692k| 414k  263k|   0     0 |2105   399 
  3   1   0  97   0   0| 384k  280k| 212k  211k|   0     0 |1945   153 
  1   1   0  98   0   0| 276k 2780k| 115k  141k|   0     0 |1580   128 
  4   2   0  94   1   0| 204k    0 | 986k 1229k|   0     0 |3180   383 
  1   1   7  91   0   0| 144k 3500k| 179k  122k|   0     0 |1634   145 
  3   1   0  97   0   0| 276k  856k| 192k  181k|   0     0 |1669   162 
  2   1  37  59   1   0| 296k  460k| 321k  541k|   0     0 |2140   205

2.dstat 使用参数

-c, -cpu 显示CPU情况

-C 0,3,totalinclude cpu0, cpu3 and total

-d, -disk 显示磁盘情况

-D total,hdainclude hda and total

-g, -page enable pagestats

-i, -int enableinterrupt stats

-I 5,eth2 includeint5 and interrupt used by eth2

-l, -load enable loadstats

-m, -mem 显示内存情况

-n, -net 显示网络情况

-N eth1,total 可以指定网络接口

-p, -proc enableprocess stats

-s, -swap 显示swap情况

-S swap1,total 可以指定多个swap

-t, -time enable timecounter

-y, -sys enablesystem stats

-ipc 报告IPC消息队列和信号量的使用情况

-lock enable lockstats

-raw enable raw stats

-tcp enable tcp stats

-udp enable udp stats

-unix enable unixstats

-M stat1,stat2 enableexternal stats

-mods stat1,stat2

-a, -all 使用-cdngy 缺省的就是这样显示

-f, -full 使用 -C, -D, -I, -N and -S 显示

-v, -vmstat 使用-pmgdsc -D 显示

-integer show integervalues

-nocolor disablecolors (implies -noupdate)

-noheaders 只显示一次表头以后就不显示了,使用重定向写入文件时很有用

-noupdate disableintermediate updates

-output file 写入到CVS文件中

3、实例应用上面的一些参数


实例1: dstat sda -D3 5   #在默认显示内容的基础上只显示sda磁盘的信息

这里的 3 5 意思跟vmstat3 5 一样,意思就是每隔3秒更新一次,总共更新5次,但是这里有个小区别就是初使时要显示一次,不包括在内!

[root@PY-proxy1 ~]# dstat -D sda  3 5
You did not select any stats, using -cdngy by default.
----total-cpu-usage---- --dsk/sda-- -net/total- ---paging-- ---system--
usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw 
  2   1  94   3   0   0| 190k  325k|   0     0 |   0     2B|1598  1080 
 20  27  44   9   1   0|4888k 6715k|1362k 1558k|   0     0 |4130   455 
 21  28  48   2   1   0|5015k 4108k|1169k 1171k|   0     0 |3665   163 
 20  29  45   6   0   0|5265k 6853k| 668k  660k|   0     0 |2902   173 
 19  30  46   5   0   0|5388k 7061k| 957k 1062k|   0     0 |3395   127 
 20  28  48   4   1   0|5141k 3877k|1002k 1108k|   0     0 |3510   148
实例2:dstat-cdlmnpsy 3 5 #统计显示CPU,IO,load,memory,network,process,swap,system
[root@PY-proxy1 ~]# dstat -cdlmnpsy 3 5
Terminal width too small, trimming output.
----total-cpu-usage---- -dsk/total- ---load-avg--- ------memory-usage----- -net/total->
usr sys idl wai hiq siq| read  writ| 1m   5m  15m | used  buff  cach  free| recv  send>
  2   1  94   3   0   0| 197k  333k|1.20 1.01 0.73| 276M 4540k  706M 15.9M|   0     0 >
 19  26  43  12   0   0|4619k 4317k|1.20 1.01 0.73| 277M 4472k  705M 15.9M| 996k 1029k>
 18  27  48   7   0   0|4756k 5363k|1.19 1.01 0.73| 277M 4520k  706M 14.6M| 926k  925k>
 20  29  44   7   0   0|5277k 6719k|1.17 1.01 0.73| 278M 4544k  704M 16.2M|1054k 1078k>
 20  29  48   2   0   0|5391k 3951k|1.17 1.01 0.73| 278M 4484k  706M 14.6M| 459k  500k>
 16  21  45  18   0   0|3739k 6192k|1.16 1.01 0.73| 279M 4404k  704M 14.6M| 562k  737k>

实例3 :date&& dstat -tclmdny 10  #10秒监视一次
[root@PY-proxy1 ~]# date && dstat -tclmdny 10
三  5月 22 09:06:08 CST 2013
----system---- ----total-cpu-usage---- ---load-avg--- ------memory-usage----- -dsk/total- -net/total- ---system--
     time     |usr sys idl wai hiq siq| 1m   5m  15m | used  buff  cach  free| read  writ| recv  send| int   csw 
22-05 09:06:10|  2   1  94   3   0   0|1.24 1.06 0.77| 321M 4784k  655M 21.2M| 204k  341k|   0     0 |1603  1077 
22-05 09:06:20| 21  27  46   6   1   0|1.45 1.11 0.79| 328M 4936k  654M 15.8M|4706k 5774k|1129k 1293k|3842   189 
22-05 09:06:30| 19  27  45   9   0   0|1.38 1.10 0.79| 331M 4868k  652M 14.6M|4817k 5265k| 830k  891k|3076   147 
22-05 09:06:40| 19  26  47   8   0   0|1.32 1.10 0.79| 335M 4856k  645M 17.2M|4559k 4990k| 685k  790k|3009   151 
实例4:dstat -cdlmnyp -N total -D total 3 5
[root@PY-proxy1 ~]# dstat -cdlmnyp -N total -D total 3 5
----total-cpu-usage---- -dsk/total- ---load-avg--- ------memory-usage----- -net/total- ---system-- ---procs---
usr sys idl wai hiq siq| read  writ| 1m   5m  15m | used  buff  cach  free| recv  send| int   csw |run blk new
  2   2  94   3   0   0| 210k  346k|1.27 1.11 0.82| 337M 4196k  645M 15.9M|   0     0 |1604  1076 |  0 0.0 0.1
 19  28  46   6   0   0|4885k 7197k|1.25 1.11 0.82| 337M 4200k  644M 17.2M|1180k 1212k|3646   111 |0.3   0   0
 19  27  47   7   0   0|4641k 6609k|1.25 1.11 0.82| 338M 4260k  646M 14.8M|1185k 1168k|3544    88 |0.3   0   0
 19  28  48   5   0   0|4899k 4561k|1.31 1.13 0.82| 338M 4296k  646M 14.7M|1181k 1278k|3619    95 |0.3   0   0
 18  24  46  12   0   0|4471k 6128k|1.29 1.12 0.82| 337M 4240k  646M 14.5M| 503k  698k|2481   126 |0.3   0   0
 20  26  44   9   0   0|4685k 3783k|1.29 1.12 0.82| 338M 4240k  646M 14.6M| 881k  892k|3293   655 |0.3   0   0


dstat可以通过传递2个参数运行来控制报告间隔和报告数量。例如,如果你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,并且报表中输出10个结果,你可以运行如下命令:

dstat 3 10

在dstat命令中有很多参数可选,你可以通过man 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 -g -l -m -s --top-mem

显示一些关于CPU资源损耗的数据:

dstat -c -y -l --proc-count --top-cpu

如何输出一个csv文件

想输出一个csv格式的文件用于以后,可以通过下面的命令:

# dstat –output /tmp/sampleoutput.csv -cdn

阅读(1159) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~