网站搜索

Dstat - 实时监控 Linux 服务器性能的资源丰富的工具


Linux 平台上一些流行且常用的系统资源生成工具包括 vmstat、netstat、iostat、ifstat 和 mpstat。它们用于报告来自不同系统组件的统计数据,例如虚拟内存、网络连接和接口、CPU、输入/输出设备等。

作为一名系统管理员,您可能正在寻找一个可以为您提供上述工具提供的大量信息的工具,甚至更多的是一个具有附加特性和功能的单一且强大的工具,那么您只需看看dstat

建议阅读: 20 个监控 Linux 性能的命令行工具

dstat是一个强大、灵活、通用的工具,用于生成Linux系统资源统计信息,它是上述所有工具的替代品。它具有额外的功能、计数器,并且具有高度可扩展性,具有 Python 知识的用户可以构建自己的插件。

dstat 的特点:

  1. 连接来自 vmstat、netstat、iostat、ifstat 和 mpstat 工具的信息
  2. 同时显示统计数据
  3. 订单计数器和高度可扩展的
  4. 支持分组块/网络设备的汇总
  5. 显示每个设备的中断
  6. 在准确的时间范围内工作,当系统受到压力时不会发生时间变化
  7. 支持彩色输出,不同的单位用不同的颜色表示
  8. 显示精确的单位并尽可能限制转换错误
  9. 支持将 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 

上面的输出表明:

  1. CPU 统计数据:用户 (usr) 进程、系统 (sys) 进程的 CPU 使用情况,以及空闲 (idl) 和等待 (wai) 进程、硬中断 (hiq) 和软中断的数量中断(siq)。
  2. 磁盘统计:磁盘上的读(read)和写(writ)操作总数。
  3. 网络统计数据:网络接口上接收 (recv) 和发送 (send) 的字节总数。
  4. 分页统计信息:信息复制到内存和移出内存的次数。
  5. 系统统计:中断数量 (int) 和上下文切换 (csw)。

要显示 vmstat 提供的信息,请使用 -v--vmstat 选项:

dstat --vmstat

在上图中,dstat 显示:

  1. 进程统计:正在运行 (run)、阻塞 (blk) 和新生成的 (new) 进程的数量。
  2. 内存统计:已使用(used)、缓冲(buff)、缓存(cach)和空闲(free)内存量。

我已经在前面的示例中的最后三个部分(分页磁盘系统统计信息)进行了解释。

建议阅读: Sysstat – 适用于 Linux 的一体化系统性能和使用活动监控工具

让我们深入研究一些高级的 dstat 系统监控命令。在下一个示例中,我们要监视使用最多 CPU 和消耗最多内存的单个程序。

命令中的选项有:

  1. -c – cpu使用率
  2. --top-cpu – 使用最多 CPU 的进程
  3. -dn – 磁盘和网络统计信息
  4. --top-mem – 消耗最多内存的进程
dstat -c --top-cpu -dn --top-mem

此外,您还可以通过启用 --output 选项将 dstat 的输出存储在 .csv 文件中,以便稍后进行分析,如下例所示。

0在这里,我们显示时间、CPU、内存、系统负载统计信息,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 的体验。