dstat 如何测量延迟?
Posted
技术标签:
【中文标题】dstat 如何测量延迟?【英文标题】:How dstat measure latency? 【发布时间】:2016-02-27 01:28:55 【问题描述】:dstat 提供了 --top-latency 和 --top-latency-avg 插件,以显示具有最高延迟(以毫秒为单位)的进程。
它是如何工作的? 我运行一个简单的 dd,它输出它的延迟,用这些插件运行 dstat,我总结了这个过程的延迟,结果不一样。
实际上,它更高! dd 显示 13s 和 dstat 21s,在对毫秒求和后。
我理解正确吗? 是否有任何其他工具可以测量每个进程的延迟?
【问题讨论】:
【参考方案1】:考虑使用latencytop tool
概要 delaytop [--unknown] [进程...]
说明(来自手册):
“Latencytop 是一款面向软件开发人员(包括内核和用户空间)的 Linux* 工具,旨在识别系统延迟发生的位置,以及导致延迟发生的操作/动作,以便代码可以更改以避免最严重的延迟打嗝。”
【讨论】:
【参考方案2】:dstat 命令正在使用来自/proc/<PID>/schedstat
的信息。该文件的格式记录在https://www.kernel.org/doc/Documentation/scheduler/sched-stats.txt
您可以在 dstat 的源代码中看到它是如何使用的: https://github.com/dagwieers/dstat/blob/master/plugins/dstat_top_latency.py#L42
【讨论】:
以上是关于dstat 如何测量延迟?的主要内容,如果未能解决你的问题,请参考以下文章