dstat

简介:

dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。

dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。

dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。

Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。


特性

结合了vmstat,iostat,ifstat,netstat以及更多的信息

实时显示统计情况

在分析和排障时可以通过启用监控项并排序

模块化设计

使用python编写的,更方便扩展现有的工作任务

容易扩展和添加你的计数器(请为此做出贡献)

包含的许多扩展插件充分说明了增加新的监控项目是很方便的

可以分组统计块设备/网络设备,并给出总数

可以显示每台设备的当前状态

极准确的时间精度,即便是系统负荷较高也不会延迟显示

显示准确地单位和和限制转换误差范围

用不同的颜色显示不同的单位

显示中间结果延时小于1秒

支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形


安装方法

# yum install -y dstat


使用方法

dstat的基本用法就是输入dstat命令,输出如下:

[root@test2 ~]# 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 

  0   0 100   0   0   0| 465B 1103B|   0     0 |   0     0 |  53    50 

  0   0 100   0   0   0|   0     0 | 423B  870B|   0     0 |  68    49 

  0   0 100   0   0   0|   0     0 | 277B  390B|   0     0 |  74    61 

  0   0 100   0   0   0|   0     0 | 303B  390B|   0     0 |  83    62 

  0   1  99   0   0   0|   0  3388k| 270B  390B|   0     0 | 185   103 

  0   0 100   0   0   0|   0     0 | 303B  390B|   0     0 | 104    91 

  0   0 100   0   0   0|   0     0 | 266B  390B|   0     0 | 107   100 

  0   0 100   0   0   0|   0     0 | 303B  390B|   0     0 | 107   100 

  0   0 100   0   0   0|   0     0 | 120B  390B|   0     0 |  87    83 

  0   0 100   0   0   0|   0     0 | 303B  390B|   0     0 | 105    94 

  0   0 100   0   0   0|   0     0 | 180B  390B|   0     0 |  94    89 

  0   0 100   0   0   0|   0     0 | 303B  390B|   0     0 | 100    89 


这是默认输出显示的信息:

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 3 10

在dstat命令中有很多参数可选,你可以通过man dstat命令查看,大多数常用的参数有这些:


dstat [-afv] [options..] [delay [count]]


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

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

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

-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。 

-C 0,3  : 是显示cpu0和cpu3的信息。 

-d:显示磁盘读写数据大小。 

-D  hda,total:include hda and total。 

-n:显示网络状态。 

-N eth1,total:有多块网卡时,指定要显示的网卡。 

-l:显示系统负载情况。 

-m:显示内存使用情况。 

-g:显示页面使用情况。 

-p:显示进程状态。 

-s:显示交换分区使用情况。 

-S:类似D/N。 

-r:I/O请求情况。

-t:输出当前日期和时间。

-T:输出当前时间戳。

-y:系统状态。 

--aio                  enable aio stats

--fs, --filesystem     enable fs stats

--ipc                  enable ipc stats

--lock                 enable lock stats

--raw                  enable raw stats

--socket               enable socket stats

--tcp                  enable tcp stats

--udp                  enable udp stats

--unix                 enable unix stats

--vm                   enable vm stats

-–disk-util :显示某一时间磁盘的忙碌状况。 

-–freespace :显示当前磁盘空间使用率。 

-–proc-count :显示正在运行的程序数量。 

-–top-bio :指出块I/O最大的进程。 

-–top-cpu :图形化显示CPU占用最大的进程。 

-–top-io :显示正常I/O最大的进程。 

-–top-mem :显示占用最多内存的进程。 

--ipc:显示ipc消息队列,信号等信息。 

--socket:用来显示tcp udp端口状态。 

--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件中。













本文转自younger00851CTO博客,原文链接:http://blog.51cto.com/younger008/1981579 ,如需转载请自行联系原作者




相关文章
|
6月前
|
缓存 监控 Unix
vmstat命令详解
`vmstat` 是类 Unix 系统的监控工具,显示虚拟内存、物理内存、CPU、I/O 和系统中断等资源使用情况。基本用法是 `vmstat [interval [count]]`,可按指定时间间隔输出系统状态。主要字段包括进程(r/b)、内存(swpd/free/buff/cache)、交换(si/so)、I/O(bi/bo)、系统(in/cs)和CPU(us/sy/id/wa/st)的统计。使用 `-s`, `-a`, `-m`, `-d`, `-p` 等选项可获取不同类型的统计信息。详细信息可通过 `man vmstat` 查看。
110 3
|
Linux Windows
iostat 命令详解
iostat 命令详解
1477 0
|
固态存储
iostat命令
摘要: 一、介绍 iostat用于监视系统IO以及CPU使用情况。 二、安装 sudo apt-get install sysstat 三、语法和选项、参数 语法:iostat [选项] [参数] 选项: -c:仅显示CPU使用情况 -d:仅显示设备IO情况 -k:显示状态以kb/s为单位 -m:显示状态以
206 0
|
JavaScript Linux 前端开发
|
监控 Unix Linux