dstat是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具。与sysstat相比,dstat拥有一个彩色的界面,在手动观察性能状况时,数据比较显眼容易观察;而且dstat支持即时刷新,譬如输入dstat 3即每三秒收集一次,但最新的数据都会每秒刷新显示。和sysstat相同的是,dstat也可以收集指定的性能资源,dstat -c即显示CPU的使用情况。
下载安装
yum install -y dstat
wget http://dag.wieers.com/rpm/packages/dstat/dstat-0.6.7-1.rh7.rf.noarch.rpm
rpm -ivh dstat-0.6.7-1.rh7.rf.noarch.rpm
使用说明
可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔,如dstat 5是每五秒显示一条,dstat 5 10表示每5s显示一条,一共显示10条;
[root@iZ23uulau1tZ ~]# 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|7706B 164k| 0 0 | 0 0 | 189 225
0 0 100 0 0 0| 0 0 |4436B 826B| 0 0 | 195 248
1 0 99 0 0 0| 0 0 |4744B 346B| 0 0 | 203 242
0 0 100 0 0 0| 0 0 |5080B 346B| 0 0 | 206 242
0 1 99 0 0 0| 0 0 |5458B 444B| 0 0 | 214 244
1 0 99 0 0 0| 0 0 |5080B 346B| 0 0 | 208 242
下面对显示出来的信息作说明:
1、cpu:hiq、siq分别为硬中断和软中断次数;
2、system:int、csw分别为系统的中断次数(interrupt)和上下文切换(context switch)。
语法
dstat [-afv] [options..] [delay [count]]
常用选项
-c 显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息;
-C 当有多个CPU的时候,此参数可按需分别显示cpu状态,例如-C 0,1显示cpu0和cpu1的信息;
-d 显示磁盘读写数据大小;
-D hda,total:include hda and total;
-n 显示网络状态;
-N Eth1,total:有多块网卡时,指定要显示的网卡;
-l 显示系统负载情况;
-m 显示内存使用情况;
-g 显示页面使用情况;
-p 显示进程状态;
-s 显示交换分区使用情况;
-S 类似D/N;
-r I/O请求情况;
-y 系统状态;
--ipc 显示IPC消息队列,信号等信息;
--socket 显示tcp、udp端口状态;
-a 此为默认选项,等同于-cdngy;
-v 等同于-pmgdsc -D total;
--output 文件 此选项比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例如:dstat --output /root/dstat/csv &此时让程序默默的在后台运行并
把结果输出到/root/dstat.csv文件中;
高级用法实例
如想监控swap,process,socket,filesystem并显示监控时间:
#dstat -tsp --socket --fs --output filename 生成的csv文件可用excel生成图表。
#dstat --list可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面/usr/share/dstat中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等;
#dstat --list