Dstat - 实时监控Linux服务器性能的资源丰富的工具
Linux 平台上一些流行且常用的系统资源生成工具包括vmstat、netstat、iostat、ifstat和mpstat。它们用于报告不同系统组件(如虚拟内存、网络连接和接口、CPU、输入/输出设备等)的统计信息。
作为一名系统管理员,您可能正在寻找一个能够为您提供上述工具所提供的大量信息的工具,甚至一个具有附加特性和能力的单一而强大的工具,那么您就不用再寻找了dstat
。
建议阅读: 20 个用于监控 Linux 性能的命令行工具
dstat是一款功能强大、灵活且用途广泛的工具,用于生成 Linux 系统资源统计信息,可替代上述所有工具。它附带额外的功能、计数器,并且具有高度的可扩展性,具有 Python 知识的用户可以构建自己的插件。
dstat 的功能:
- 整合来自 vmstat、netstat、iostat、ifstat 和 mpstat 工具的信息
- 同时显示统计数据
- 订单计数器和高度可扩展
- 支持分组块/网络设备的汇总
- 显示每个设备的中断
- 在准确的时间范围内工作,系统承受压力时不会发生时间偏移
- 支持彩色输出,以不同的颜色表示不同的单元
- 显示精确的单位并尽可能减少转换错误
- 支持将 CSV 输出导出到 Gnumeric 和 Excel 文档
如何在 Linux 系统中安装 dstat
dstat 可从大多数 Linux 发行版的默认存储库中安装,您可以在性能调整测试或故障排除练习过程中安装并使用它来监控 Linux 系统。
# yum install dstat [On RedHat/CentOS and Fedora] $ sudo apt-get install dstat [On Debian, Ubuntu and Linux Mint]
它实时工作,默认以列形式输出选择性信息,包括每秒显示的统计数据的幅度和单位。
注意:dstat输出专门用于人类解释,而不是作为其他工具处理的输入。
下面是在没有任何选项和参数的情况下运行dstat命令后看到的输出(类似于使用-cdngy
(默认)选项或-a
选项)。
$ dstat
上面的输出表示:
- CPU 统计:用户 (usr) 进程、系统 (sys) 进程的 CPU 使用率,以及空闲 (idl) 和等待 (wai) 进程的数量、硬中断 (hiq) 和软中断 (siq)。
- 磁盘统计:磁盘上读取(read)和写入(writ)操作的总数。
- 网络统计:网络接口上接收(recv)和发送(send)的字节总数。
- 分页统计:信息被复制到内存(in)和移出内存(out)的次数。
- 系统统计:中断次数(int)和上下文切换次数(csw)。
要显示提供的信息vmstat
,请使用-v
或--vmstat
选项:
$ dstat --vmstat
在上图中,dstat 显示:
- 进程统计:正在运行(run)、阻止(blk)和新(new)生成的进程的数量。
- 内存统计:已用(used)、缓冲(buff)、缓存(cach)和可用(free)内存的数量。
我已经在前面的例子的最后三个部分(分页,磁盘和系统统计)进行了解释。
建议阅读: Sysstat - Linux 的一体化系统性能和使用活动监控工具
让我们深入了解一些高级dstat系统监控命令。在下一个示例中,我们要监控使用最多 CPU 和消耗最多内存的单个程序。
命令中的选项为:
-c
– CPU 使用率--top-cpu
– 使用最多 CPU 的进程-dn
– 磁盘和网络统计信息--top-mem
– 消耗最多内存的进程
$ dstat -c --top-cpu -dn --top-mem
此外,您还可以通过启用该选项将 dstat 的输出存储在文件中.csv
以供以后进行分析--output
,如下例所示。
0 这里,我们显示时间、cpu、mem、系统负载统计信息, 5 次更新(计数)之间有一秒的延迟。
$ dstat --time --cpu --mem --load --output report.csv 1 5
您可以将几个内部(例如上例中使用的选项)和外部 dstat 插件与 dstat 一起使用,要查看所有可用插件的列表,请运行以下命令:
$ dstat --list
它从以下路径读取插件,因此在这些目录中添加外部插件:
~/.dstat/ (path of binary)/plugins/ /usr/share/dstat/ /usr/local/share/dstat/
有关更多使用信息,请查看 dstat 手册页或访问主页:http://dag.wiee.rs/home-made/dstat/。
建议阅读: Collectl:适用于 Linux 的高级一体化性能监控工具
dstat是一个多功能、一体化的系统资源统计生成工具,它结合了来自其他几个工具的信息,如 vmstat、mpstat、iostat、netstat 和 ifstat。
我希望这篇评论对您有所帮助,最重要的是,您可以与我们分享任何建议、改进文章的补充想法,并通过下面的评论部分向我们提供有关您使用dstat的经验的反馈。