转自https://linux.cn/article-3215-1.html

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

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

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

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

特性

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

安装方法

Ubuntu/Mint和Debin系统:

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

  1. # sudo apt-get install dstat

RHEL/Centos和Fedora系统:

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

  1. # yum install dstat

ArchLinux系统:

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

  1. # 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个结果,你可以运行如下命令:

  1. dstat 3 10

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

  • -l :显示负载统计量
  • -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 :显示占用最多内存的进程

举一些例子:

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

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

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

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

如何输出一个csv文件

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

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

via: http://linuxaria.com/howto/linux-terminal-dstat-monitoring-tools

转载于:https://www.cnblogs.com/hark0623/p/6089154.html

【转】Linux终端下 dstat 监控工具相关推荐

  1. Linux终端下 dstat 监控工具

    查看全部内存都有谁在占用: dstat -g -l -m -s --top-mem 显示一些关于CPU资源损耗的数据: dstat -c -y -l --proc-count --top-cpu 输出 ...

  2. Linux 终端下 dstat 监控工具

    dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了.dstat可 ...

  3. linux切换图片的代码,cacaview – Linux终端下将图片转换ASCII Art代码图案

    有时你可能需要终端输出许多图片,那么现在就让我们在Linux终端打开一个新窗口显示图片. cacaview – Linux终端下将图片转换ASCII Art代码图案的命令. Ubuntu下安装命令: ...

  4. linux 如何查看终端格式,你应该还不知道,Linux终端下的 Markdown 文档查看器

    原标题:你应该还不知道,Linux终端下的 Markdown 文档查看器 现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Mark ...

  5. 神奇 | 神奇,原来 Linux 终端下还有这两种下载文件方式

    " Hi ! 我是小小,今天开始本周的第二篇,本周第二篇,将会着重讲解关于Linux下的两种文件下载方式. 前言 如果你一直使用 Linux 终端,比如在服务器上,如何从终端下载文件,在本篇 ...

  6. linux能记录日志的终端,如何记录Linux终端下的操作日志

    在Linux终端下,为方便检查操作中可能出现的错误,以及避免屏幕滚屏的限制,我们可以把操作日志记录下来.常用的工具有 screen,script,以及tee等. 1. screen - screen ...

  7. 在linux终端下使用scp与远程windows传输文件

    这几天遇到了个问题,需要在linux终端下往远程windows xp(同一局域网)传输文件. 由于之前在该linux下都是往远程的linux传输文件,而当时使用的是scp.远程切到windows以后, ...

  8. 一些你不知道的好玩的有趣的linux命令 Linux终端下的ASCII艺术

    你知道吗?其实在linux 终端下也是可以玩一些简单的ASCII字符动画.每次提起linux 都觉得害怕,因为那些命令太古板太严肃了.嘿嘿,从现在开始,貌似有点乐趣了哦.当你敲代码敲累了,你可以玩玩这 ...

  9. linux 终端 星球大战,在 Linux 终端下看《星球大战》

    虽然我不能帮你得到一张最新的<星球大战>的电影票,但我可以提供给你一种方式,看星球大战第四集,它是非常早期的<星球大战>电影(1977 年). 不,它不会是高清,也不是蓝光版. ...

最新文章

  1. java socket字符串_Java Socket Bug:从Socket的InputStream读取字符串
  2. 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙
  3. P4770-[NOI2018]你的名字【SAM,线段树合并】
  4. 【转载】指导教师的WZ132
  5. 2016年2月23日----Javascript全局变量和局部变量
  6. 在线短视频缩略图剪切工具
  7. Vue将汉字转为拼音,取出首字母
  8. DIV 半透明层、 CSS实现网页 背景半透明
  9. OpenCV 文字识别(一):图像预处理
  10. 软件开发常用英文词汇
  11. C++ OpenCV 将黑点框出来
  12. HTML-淘宝导航条
  13. EMW3080+STC15轻松实现设备上云1(阿里云物联网平台、智能生活开放平台)
  14. win10备份为wim_电脑:Win10 专业版提取制作方法
  15. 毕业论文必备技巧:Word页脚及页眉设置
  16. 使用video.js 播放youtube视频——踩坑记1
  17. OPPO消息推送服务器,OPPO推送平台服务端API.PDF
  18. 用Python解析XML的几种常见方法的介绍
  19. 偏航角、俯仰角、横滚角的理解
  20. 智能扫地机器人好用吗

热门文章

  1. iterator and iterable
  2. SpringMVC学习--文件上传
  3. 用 JA Transmenu 模块做多级弹出菜单
  4. qq纵横四海源码_【0基础】纵横中文网python爬虫实战
  5. cmd进入python环境_python2和python3同时存在,如何CMD中进入不同的环境
  6. python os.path.exists判断文件或文件夹是否存在
  7. rtk采点后如何导入cad_【干货】RTK实操视频:工程之星5.0操作攻略!(第五部分)...
  8. C#程序将DLL包进EXE方法
  9. linux下杀死进程全权讲解
  10. mysql+if+x+mod+2_Windows 下 MantisBT 2.X + Apache 2.4 + PHP 7 + MySQL 5.7 的环境配置