dstat 是一个能够取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增长了一些另外的功能,增长了监控项,也变得更灵活了。dstat能够很方便监控系统运行情况并用于基准测试和排除故障。node
dstat可让你实时地看到全部系统资源,例如,你可以经过统计IDE控制器当前状态来比较磁盘利用率,或者直接经过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。python
dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。ios
Dstat的默认输出是专门为人们实时查看而设计的,不过你也能够将详细信息经过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。centos
Ubuntu/Mint和Debin系统:服务器
本地软件库中有相关安装包,你能够用下面命令安装:网络
RHEL/Centos和Fedora系统:socket
你能够在romforge软件库中添加有相关安装包,参照指导,使用以下命令很简单就能进行安装:tcp
ArchLinux系统:模块化
相关软件包在社区资源库中,你能够用这个命令来安装:测试
dstat的基本用法就是输入dstat命令,输出以下:
这是默认输出显示的信息:
CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用情况。若是你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是由于它正在等待I/O设备(例如内存,磁盘或者网络)的响应并且尚未收到。
磁盘统计:磁盘的读写操做,这一栏显示磁盘的读、写总数。
网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。
分页统计:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页代表系统正在使用大量的交换空间,或者说内存很是分散,大多数状况下你都但愿看到page in(换入)和page out(换出)的值是0 0。
系通通计:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值一般表示大量的进程形成拥塞,须要对CPU进行关注。你的服务器通常状况下都会运行运行一些程序,因此这项老是显示一些数值。
默认状况下,dstat每秒都会刷新数据。若是想退出dstat,你能够按"CTRL-C"键。
须要注意的是报告的第一行,一般这里全部的统计都不显示数值的。
这是因为dstat会经过上一次的报告来给出一个总结,因此第一次运行时是没有平均值和总值的相关数据。
可是dstat能够经过传递2个参数运行来控制报告间隔和报告数量。例如,若是你想要dstat输出默认监控、报表输出的时间间隔为3秒钟,而且报表中输出10个结果,你能够运行以下命令:
在dstat命令中有不少参数可选,你能够经过man dstat命令查看,大多数经常使用的参数有这些:
固然不止这些用法,dstat附带了一些插件很大程度地扩展了它的功能。你能够经过查看/usr/share/dstat目录来查看它们的一些使用方法,经常使用的有这些:
举一些例子:
查看所有内存都有谁在占用:
显示一些关于CPU资源损耗的数据:
想输出一个csv格式的文件用于之后,能够经过下面的命令: