dstat提供--top-latency和--top-latency-avg插件,以显示具有最高延迟(以ms为单位)的进程。
它是如何工作的? 我运行一个简单的dd,它输出它的延迟,用这些插件运行dstat,我总结了这个过程的延迟,结果是不一样的。
实际上,它更高!在累计毫秒后,dd显示13s和dstat 21s。
我是否理解正确? 是否还有其他工具可以衡量每个进程的延迟?
答案 0 :(得分:1)
考虑使用latencytop tool
<强>概要强> latencytop [--unknown] [进程...]
说明(来自手册):
&#34; Latencytop是面向软件开发人员(内核和用户空间)的Linux *工具,旨在识别系统发生延迟的位置,以及导致延迟发生的操作/操作类型,以便代码可以更改,以避免最严重的延迟打嗝。&#34;
答案 1 :(得分:1)
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