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

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

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

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

特性

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

- 实时显示统计情况

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

- 模块化设计

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

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

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

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

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

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

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

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

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

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

centos下安装方法:

     yum install dstat

安装完成后可以在命令行格式下直接键入dstat输出默认显示信息,

默认他会 收集-cpu-、-disk-、-net-、-paging-、-system-的数据,一秒钟收集一次。默认输入 dstat 等于输入了dstat -cdngy 1或dstat -a 1;

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

CPU状态:CPU的使用率。这项报告更有趣的部分是显示了用户,系统和空闲部分,这更好地分析了CPU当前的使用状况。如果你看到"wait"一栏中,CPU的状态是一个高使用率值,那说明系统存在一些其它问题。当CPU的状态处在"waits"时,那是因为它正在等待I/O设备(例如内存,磁盘或者网络)的响应而且还没有收到。

磁盘统计:磁盘的读写操作,这一栏显示磁盘的读、写总数。

网络统计:网络设备发送和接受的数据,这一栏显示的网络收、发数据总数。

分页统计:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,或者说内存非常分散,大多数情况下你都希望看到page in(换入)和page out(换出)的值是0 0。

系统统计:这一项显示的是中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。

默认情况下,dstat每秒都会刷新数据。如果想退出dstat,你可以按"CTRL-C"键。

需要注意的是报告的第一行,通常这里所有的统计都不显示数值的。

这是由于dstat会通过上一次的报告来给出一个总结,所以第一次运行时是没有平均值和总值的相关数据。

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

-c, --cpu:显示cpu相关信息;

-C #,#,...,total

-d, --disk:显示磁盘的相关信息

-D sda,sdb,...,tobal

-g:显示page相关的速率数据;

-l :显示负载统计量

-n:Interface的相关统计数据;

-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 :显示占用最多内存的进程

-- top-lantency:延迟最大的进程;

举一些例子:

查看全部内存都有谁在占用:

    dstat -g -l -m -s --top-mem

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

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

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

     dstat -output /PATH/TO/SOMEFILE -cdn

转载于:https://blog.51cto.com/amengmon/1730541

linux学习笔记:dstat命令详解相关推荐

  1. linux fls函数,Linux学习笔记- find 命令详解

    前言 find命令是我们日常工作中比较常用的Linux命令.全面的掌握这个命令可以使很多操作达到事半功倍的效果. 使用find命令常常会有以下这些疑惑: find命令的格式是什么? 参数中出现+或-号 ...

  2. Linux性能观测——dstat命令详解

    dstat dstat 用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,可以说是一个全能的系统信息统计工具. 相关命令 Linux存储性能观测--ios ...

  3. 【linux 学习】tar命令详解(总结)

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 以上五个是独立的命令参数,压缩解压都要用到其中一个,可以和别的命令连用但只能用其 ...

  4. linux cut命令学习,Linux中的cut 命令详解

    今天小编要跟大家分享的文章是关于Linux中的cut 命令详解.cut 命令在Linux和Unix中的作用是从文件中的每一行中截取出一些部分,并输出到标准输出中.我们可以使用 cut 命令从一行字符串 ...

  5. ELK学习笔记之Logstash详解

    0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...

  6. expect学习笔记及实例详解【转】

    1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 1.1 首行加上/usr/bin/expect 1.2 spawn: 后面加上需要执行的shell命令,比如说 ...

  7. linux ps(process status) 命令详解

    linux ps(process status) 命令详解 功能说明:报告程序状况. 语 法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称> ...

  8. Linux操作系统上lsof命令详解

    Linux操作系统上lsof命令详解 2011-10-08 18:31:31 http://xjsunjie.blog.51cto.com/999372/682865 标签:Linux lsof命令 ...

  9. linux slocate(secure locate) 命令详解

    linux slocate(secure locate) 命令详解 功能说明:查找文件或目录. 语 法:slocate [-u][--help][--version][-d <目录>][查 ...

  10. Linux上的free命令详解

    Linux上的free命令详解 转自: http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html 解释一下Linux上f ...

最新文章

  1. linux什么命令只显示ip,linux ip命令
  2. 140个绝对绝对值得收藏的电脑技巧1
  3. TFS(Team Foundation Server)介绍和入门
  4. Oracle怎么算开始一个会话,oracle – 随机获取ORA-08177只有一个活动会话
  5. RecyclerView 显示不全的问题.
  6. 鲍姆-韦尔奇算法 数学推导
  7. linux 后端的进程,linux后台启动进程
  8. airpods固件更新方法_苹果发布 AirPods 新固件更新!
  9. 开发测试矛盾java吧_不愿看到Java开发者再做的10件事
  10. Springboot打jar包项目无法访问jsp问题解决
  11. react - next.js 引用本地图片和css文件
  12. matlab如何分解矩阵,Matlab中矩阵的分解
  13. USB-HID鼠标键盘驱动
  14. FME 应用cad处理
  15. WMB系列-消息流中节点监视与MM+的使用注意事项
  16. 如何学计算机打字,电脑怎么学打字
  17. STM32定时器输入捕获,脉宽测量知识点
  18. python制作二维码_利用Python制作二维码
  19. ​LeetCode刷题实战375:猜数字大小 II
  20. [18调剂]北方民族大学2018年硕士研究生调剂公告

热门文章

  1. 医学统计学 第九章(方差分析)
  2. xui和嘟嘟桌面哪个好_Window10中我的电脑和控制面板选项在桌面木有咋把它给整到电脑桌面上来呢...
  3. 随笔之《决战大数据》
  4. 【OpenGL ES】绘制魔方
  5. kafka是否支持android客户端
  6. 【Python 实战基础】如何绘制柱状图分析两个学生成绩数据
  7. Qt学习笔记(Qt制作菜单栏and工具栏and状态栏)^_^
  8. 店铺淘客如何做到单店利润过万的个人实战技巧
  9. java对list分组_Java List排序,分组等操作
  10. android 6.0 高通平台sensor 工作机制及流程(原创)