UNPKG

6.32 kBMarkdownView Raw
1dstat
2===
3
4通用的系统资源统计工具
5
6## 补充说明
7
8**dstat命令** 是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入`dstat 3`即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,譬如`dstat -c`即显示CPU的使用情况。
9
10### 下载安装
11
12 **方法一**
13
14```shell
15yum install -y dstat
16```
17
18 **方法二**
19
20官网下载地址:http://dag.wieers.com/rpm/packages/dstat
21
22```shell
23wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpm
24rpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm
25```
26
27### 使用说明
28
29安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。
30
31直接使用dstat,默认使用的是`-cdngy`参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如`dstat 5`是没5s显示一条,`dstat 5 10`表示没5s显示一条,一共显示10条。
32
33```shell
34[root@iZ23uulau1tZ ~]# dstat
35----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
36usr sys idl wai hiq siq| read writ| recv send| in out | int csw
37 0 0 99 0 0 0|7706B 164k| 0 0 | 0 0 | 189 225
38 0 0 100 0 0 0| 0 0 |4436B 826B| 0 0 | 195 248
39 1 0 99 0 0 0| 0 0 |4744B 346B| 0 0 | 203 242
40 0 0 100 0 0 0| 0 0 |5080B 346B| 0 0 | 206 242
41 0 1 99 0 0 0| 0 0 |5458B 444B| 0 0 | 214 244
42 1 0 99 0 0 0| 0 0 |5080B 346B| 0 0 | 208 242
43```
44
45下面对显示出来的部分信息作一些说明:
46
471. cpu:hiq、siq分别为硬中断和软中断次数。
482. system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。
49
50其他的都很好理解。
51
52### 语法
53
54```shell
55dstat [-afv] [options..] [delay [count]]
56```
57
58### 常用选项
59
60```shell
61-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。
62-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。
63-d:显示磁盘读写数据大小。
64-D hda,total:include hda and total。
65-n:显示网络状态。
66-N eth1,total:有多块网卡时,指定要显示的网卡。
67-l:显示系统负载情况。
68-m:显示内存使用情况。
69-g:显示页面使用情况。
70-p:显示进程状态。
71-s:显示交换分区使用情况。
72-S:类似D/N。
73-r:I/O请求情况。
74-y:系统状态。
75--ipc:显示ipc消息队列,信号等信息。
76--socket:用来显示tcp udp端口状态。
77-a:此为默认选项,等同于-cdngy。
78-v:等同于 -pmgdsc -D total。
79--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。
80```
81
82当然dstat还有很多更高级的用法,常用的基本这些选项,更高级的用法可以结合man文档。
83
84### 实例
85
86如想监控swap,process,sockets,filesystem并显示监控的时间:
87
88```shell
89[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs
90----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
91 date/time | used free|run blk new|tot tcp udp raw frg|files inodes
9226-07 09:23:48| 0 0 | 0 0 0.0|104 8 5 0 0| 704 6488
9326-07 09:23:49| 0 0 | 0 0 0|104 8 5 0 0| 704 6488
9426-07 09:23:50| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
9526-07 09:23:51| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
9626-07 09:23:52| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
9726-07 09:23:53| 0 0 | 0 0 0|104 8 5 0 0| 704 6489
98```
99
100若要将结果输出到文件可以加`--output filename`
101
102```shell
103[root@iZ23uulau1tZ ~]# dstat -tsp --socket --fs --output /tmp/ds.csv
104----system---- ----swap--- ---procs--- ------sockets------ --filesystem-
105 date/time | used free|run blk new|tot tcp udp raw frg|files inodes
10626-07 09:25:31| 0 0 | 0 0 0.0|104 8 5 0 0| 736 6493
10726-07 09:25:32| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
10826-07 09:25:33| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
10926-07 09:25:34| 0 0 | 0 0 0|104 8 5 0 0| 736 6493
11026-07 09:25:35| 0 0 | 0 0 0|104 8 5 0 0| 736 6494
11126-07 09:25:36| 0 0 | 0 0 0|104 8 5 0 0| 736 6494
112```
113
114这样生成的csv文件可以用excel打开,然后生成图表。
115
116通过`dstat --list`可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面`/usr/share/dstat`中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等。
117
118下面这些插件并不是都可以直接使用的,有的还依赖其他包,如想监控mysql,必须要装python连接mysql的一些包。
119
120```shell
121[root@iZ23uulau1tZ ~]# dstat --list
122internal:
123 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
124/usr/share/dstat:
125 battery, battery-remain, cpufreq, dbus, disk-util, 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,
126 net-packets, nfs3, nfs3-ops, nfsd3, nfsd3-ops, ntp, postfix, power, proc-count, rpc, rpcd, sendmail, snooze, thermal, top-bio, top-cpu, top-cputime, top-cputime-avg, top-io, top-latency, top-latency-avg, top-mem, top-oom, utmp,
127 vm-memctl, vmk-hba, vmk-int, vmk-nic, vz-cpu, vz-io, vz-ubc, wifi
128```
129
130dstat命令的基本用法就说到这里,更多用法有待摸索,如果您需要补充内容请给我们发邮件,谢谢!
131
132