问题标签 [blktrace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
881 浏览

linux - blktrace 只能跟踪一个特定的进程吗?

blktrace 只能跟踪一个特定的进程吗?现在 blktrace 将所有 io 活动转储出去,这需要花费大量时间使用 blkparse 来解析它。但是我们只对一个特定的过程感兴趣。有没有办法将 blktrace 配置为仅跟踪该进程?

谢谢,杰夫

0 投票
1 回答
403 浏览

performance - 使用 blktrace 工具

我正在使用 blktrace 工具来测量写入和重写的输入性能。blktrace 在写入期间会生成许多文件。我是否需要将所有文件合并到一个文件中以将其提供给 blkparse 以生成输出的可读格式。

0 投票
1 回答
414 浏览

disk-io - 如何获取具有实际输入值的磁盘 IO 跟踪?

我想从磁盘 IO 生成一些跟踪文件,但问题是我需要实际的输入数据以及时间戳、逻辑地址和访问块大小等。

我一直在尝试通过在 ubuntu VirtualBox 环境中使用“ blktrace | blkparse ”和“ iozone ”来解决这个问题,但它似乎不起作用。

blkparse 中有一个选项用于设置输出格式以显示数据包数据,-f "%P",但它不打印任何内容。

下面是我使用的命令:

在打印格式“%-12C\t\t%p\t%d\t%S:%n:%N\t\t%P\n”中,其他的都打印好了,但是“%P " 根本不打印。

有谁知道为什么不显示数据包数据?或者任何知道其他方法来获取具有实际输入值的磁盘 IO 数据包数据的人?

0 投票
1 回答
721 浏览

storage - DiskSim生成的io trace如何在真实环境中执行?

我想使用 DiskSim 比较不同的磁盘模型。在许多使用 DiskSim 的研究中,研究人员在 DiskSim 和真实设备上执行 DiskSim 生成的跟踪文件。但是,我不知道该怎么做。

因此,我想找到在真实设备中运行 DiskSim 生成的 io 跟踪的方法。接受所有类型的格式,包括 ascii、validate、blktrace 等。请帮助我。


ascii 格式的 DiskSim 跟踪示例:

关于 DiskSim 痕迹的论文: https ://www.usenix.org/legacy/event/fast03/tech/full_papers/zedlewski/zedlewski_html/paper.html http://www.sersc.org/journals/IJGDC/vol7_no3/7 .pdf

我对 blktrace、btrecord 和 btreplay 有所了解。但是,我无法将跟踪从 DiskSim 格式转换为 blktrace 格式。它错过了一些 io 信息。

有人帮忙吗?

0 投票
1 回答
362 浏览

blktrace - 如何让 blktrace 工具显示 D 发出的动作

这个问题是关于 blktrace 工具的。在我们实验室的几台 Ubuntu 3.16.0 机器上,我需要跟踪软件与设备块 IO 的性能。我们有时使用我们的自定义 nvme 驱动程序,有时使用标准驱动程序。这是 blkparse 输出的摘录(使用标准 nvme 驱动程序):

这显示了 Queued 和 Complete 操作,但没有显示我感兴趣的 D - 发出的操作。这就是问题所在。我需要显示更多操作(事件)。这是从

同时,在其他 Linux 机器上它可以工作,或者如果我跟踪不同的设备,甚至在同一台机器上

如本摘录所示:

最后一个(使用 /dev/sda)显示了所有不同的操作,这很棒。那么如何获取 nvme0n1 设备的详细 blktrace 呢?为什么它不会自动显示其他动作(除了 Q 和 C)?

0 投票
1 回答
137 浏览

ios - 不同的是在分析 blktrace 时队列深度、磁盘偏移量、iops、吞吐量的数据

使用 blktrace 捕获 IOS 的跟踪,并使用 blkreplay 重播相同的跟踪。我想检查吞吐量、队列深度和 IOS 等参数,因此我们使用了 seekwatcher 和 iowatcher 等工具。回放的参数有很大的不同。即使磁盘偏移量也存在差异。为什么会这样?

0 投票
1 回答
1304 浏览

linux - docker容器中的blktrace输出错误

我的 docker 容器基础镜像是 ubuntu,我使用完全权限选项运行它,这意味着在运行命令中我使用这些开关:

我想使用以下命令使用 blktrce:

但是,第一次使用此命令时出现此错误:

我搜索并找到了导致使用此命令的解决方案:

之后,当我blktrace再次使用该命令时,出现此错误:

我该如何解决?

更新1:

在这个文件夹中有sda文件夹,在/sys/kernel/debug/block/这个文件夹中有这些文件:

更新2:

@abligh 感谢您的回答,但没有帮助。关于的strace输出ioctl是:

要回答你关于我为什么blktrace在容器中运行的问题,我会说我使用容器作为集群,所以我需要每个节点的跟踪。

0 投票
1 回答
743 浏览

performance - FIO 延迟与 Btt 延迟

在 btt 结果的情况下,我最熟悉

  • Q2D 延迟 - 从请求提交到设备的时间
  • D2C 延迟 - 处理请求的设备延迟
  • Q2C 延迟 - 总延迟,Q2D + D2C = Q2C

我需要帮助比较 FIO 报告的延迟与 Btt 工具。在 FIO 结果中有

  • 提交延迟或 Slat
  • 完成延迟或 Clat
  • 总延迟或 lat

我确实阅读了一些关于 FIO 结果的文章,但我仍然不清楚 slat、clat 和 lat 是什么意思?

如果磁盘延迟较高或请求排队延迟较高,FIO 结果能否提供见解?

FIO 中报告的“Slat”或“Clat”或“lat”是否与 Q2D、C2D 或 Q2C 直接可比?

可能这两个工具没有直接可比性,在这种情况下你能解释一下为什么吗?

谢谢

0 投票
1 回答
162 浏览

linux-kernel - 使用 struct bio 的延迟

我想为通过块层的每个结构生物绘制延迟信息。我有一个覆盖 make_request_fn 的模块。我想知道该生物从那里到达请求队列以及从那里到驱动程序等花了多长时间。

我试图将一个自定义结构附加到我在 make_request_fn 收到的 bio 但由于我没有创建这些,我不能使用 bi_private 字段。有没有办法解决这个问题?

我有一个选择是制作一个 bio 包装器结构并将 bio 结构复制到其中,然后将其传递给较低的函数,以便我可以使用 container_of 来记录时间。

我已经阅读了诸如 blktrace 和 btt 之类的工具,但我需要在我的模块中使用这些信息。有什么办法可以做到这一点?

谢谢你。

0 投票
0 回答
148 浏览

c++ - fread 和 fwrite 返回值与 blktrace 输出不匹配

我正在对 SSD 进行一些实验,以检查它们在电源故障下是否会丢失数据。第一步,我在 SSD 上写入随机数据,然后在下一步中,我将电源故障注入它。最后,我从 SSD 读取数据并检查数据是否与我在电源故障前写入的数据匹配。不幸的是,所有测试都通过了,没有任何数据丢失。

这是我的实验的示例代码。

blktrace我在运行时执行了上面的代码/dev/sdb。我得到了以下结果。fread()输出中没有任何痕迹blktrace

如何禁用从缓冲区读取?