专栏首页北京马哥教育Linux终端下 dstat 监控工具

Linux终端下 dstat 监控工具

关于dstat

  1. dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。
  2. dstat可以让你实时地看到所有系统资源,例如,你能够通过统计IDE控制器当前状态来比较磁盘利用率,或者直接通过网络带宽数值来比较磁盘的吞吐率(在相同的时间间隔内)。
  3. dstat将以列表的形式为你提供选项信息并清晰地告诉你是在何种幅度和单位显示输出。这样更好地避免了信息混乱和误报。更重要的是,它可以让你更容易编写插件来收集你想要的数据信息,以从未有过的方式进行扩展。
  4. Dstat的默认输出是专门为人们实时查看而设计的,不过你也可以将详细信息通过CSV输出到一个文件,并导入到Gnumeric或者Excel生成表格中。

特性

  1. 结合了vmstat,iostat,ifstat,netstat以及更多的信息
  2. 实时显示统计情况
  3. 在分析和排障时可以通过启用监控项并排序
  4. 模块化设计
  5. 使用python编写的,更方便扩展现有的工作任务
  6. 容易扩展和添加你的计数器(请为此做出贡献)
  7. 包含的许多扩展插件充分说明了增加新的监控项目是很方便的
  8. 可以分组统计块设备/网络设备,并给出总数
  9. 可以显示每台设备的当前状态
  10. 极准确的时间精度,即便是系统负荷较高也不会延迟显示
  11. 显示准确地单位和和限制转换误差范围
  12. 用不同的颜色显示不同的单位
  13. 显示中间结果延时小于1秒
  14. 支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形

安装方法

Ubuntu/Mint和Debin系统:

本地软件库中有相关安装包,你可以用下面命令安装:

# sudo apt-get install dstat

RHEL/Centos和Fedora系统:

你可以在romforge软件库中添加有相关安装包,参照指导,使用如下命令很简单就能进行安装:

# yum install dstat

ArchLinux系统:

相关软件包在社区资源库中,你可以用这个命令来安装:

# pacman -S dstat

使用方法

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

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

  1. -l :显示负载统计量
  2. -m :显示内存使用率(包括used,buffer,cache,free值)
  3. -r :显示I/O统计
  4. -s :显示交换分区使用情况
  5. -t :将当前时间显示在第一行
  6. –fs :显示文件系统统计数据(包括文件总数量和inodes值)
  7. –nocolor :不显示颜色(有时候有用)
  8. –socket :显示网络统计数据
  9. –tcp :显示常用的TCP统计
  10. –udp :显示监听的UDP接口及其当前用量的一些动态数据

当然不止这些用法,dstat附带了一些插件很大程度地扩展了它的功能。你可以通过查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:

  1. -–disk-util :显示某一时间磁盘的忙碌状况
  2. -–freespace :显示当前磁盘空间使用率
  3. -–proc-count :显示正在运行的程序数量
  4. -–top-bio :指出块I/O最大的进程
  5. -–top-cpu :图形化显示CPU占用最大的进程
  6. -–top-io :显示正常I/O最大的进程
  7. -–top-mem :显示占用最多内存的进程

举一些例子:

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

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

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

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

如何输出一个csv文件

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

# dstat –output /tmp/sampleoutput.csv -cdn

本文分享自微信公众号 - 马哥Linux运维(magedu-Linux)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-07-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux终端下 dstat 监控工具

    dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增...

    小小科
  • Linux 中命令链接操作符,让你的代码更简洁!

    Linux命令中链接的意思是,通过操作符的行为将几个命令组合执行。Linux中的链接命令,有些像你在shell中写短小的shell脚本,并直接在终端中执行。链接...

    小小科
  • 一共56个,盘点最实用的大数据可视化分析工具

    一、Excel Excel作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上课选择的范围有限,这也意味...

    小小科
  • Linux终端下 dstat 监控工具

    dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增...

    小小科
  • Linux 全能型监控工具

    dstat是Linux中功能很全面的一个监控工具 dstat官方将其定义为vmstat、iostat、ifstat等工具的多功能替代品,且添加了许多额外的功能 ...

    dys
  • 系统监控工具-dstat

    dstat是一个用Python语言实现的多功能统计工具,用来取代Linux下的vmstat ,iostat,netstat,和ifstat等命令.

    致码DevOps
  • 性能调优最全配置,你绝对不能错过!!!

    在遇到实际性能问题时,除了关注系统性能指标,还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。

    用户5224393
  • [Linux] 使用lsof命令查找进程打开的所有文件

    前几天腾讯云到期了 , 进行服务器迁移 , 利用镜像重装了系统 , 但是有些命令没有自动启动 , 需要进行手动启动

    陶士涵
  • 一句SQL,我有6种写法

    最近在刷LeetCode中数据库题目时,有一道排名题目,用了6种写法分别代表6种SQL思维来实现,想想也算是有趣。

    luanhz
  • 逆向工程——汇编基础[二]

    除了显示地操作堆栈(使用push和pop指令)之外,很多指令也需要使用堆栈,如INT、CALL、LEAVE、RET、RETE、IRET等等。配对使用上述指令并不...

    HACK学习

扫码关注云+社区

领取腾讯云代金券