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) 的字节总数。
- 分页统计信息:信息复制到内存和移出内存的次数。
- 系统统计:中断数量 (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
此外,您还可以通过启用 --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 的体验。