gpt4 book ai didi

linux - block 层中重复的 LBA 请求

转载 作者:太空狗 更新时间:2023-10-29 12:19:09 40 4
gpt4 key购买 nike

我正在使用 blktrace 了解 block 层行为具有高 IO 负载的多线程 IO 工作负载。我可以观察到一些 block 层中重复的 LBA 请求。比如我只有一个在我的原始工作负载中向 LBA 47568 写入请求。然而,blktrace显示 121 个请求写入 LBA 47568!下面是一部分blkparse log which filter only I events (IO inserted to request队列)。我试图理解为什么会发生这种现象以及如何发生我可以消除它吗?我选择了 noop IO scheduler 和 value 2 in/sys/block/sdX/nomerge 以避免 IO 合并。我非常感谢你的帮助提前。

  8 240  0     7539     0.073300123 32282  I  WS 47576 + 8 [a]
8 240 5 4462 0.073303974 32281 I WS 47568 + 8 [a]
8 240 11 4462 0.073306337 32283 I WS 47584 + 8 [a]
8 240 6 4462 0.073307970 32284 I WS 47592 + 8 [a]
8 240 10 4462 0.073309010 32285 I WS 47600 + 8 [a]
8 240 5 4466 0.073311526 32281 I WS 47568 + 8 [a]
8 240 5 4469 0.073316215 175 I WS 47568 + 8 [kworker/5:1]
8 240 7 4462 0.073352932 32286 I WS 47608 + 8 [a]
8 240 7 4466 0.073354061 32286 I WS 47568 + 8 [a]
8 240 8 4468 0.073358935 32280 I WS 47624 + 8 [a]
8 240 4 4468 0.073360550 32279 I WS 47616 + 8 [a]
8 240 8 4472 0.073362145 32280 I WS 47568 + 8 [a]
8 240 5 4473 0.073362711 32281 I WS 47632 + 8 [a]
8 240 5 4477 0.073364177 32281 I WS 47568 + 8 [a]
8 240 0 7545 0.073407427 32282 I WS 47640 + 8 [a]
8 240 0 7549 0.073409589 32282 I WS 47568 + 8 [a]

最佳答案

好的,我要回答我的问题了。事实证明,工作负载中未完成的 IO 数量大于通用设备驱动程序队列大小 (/sys/block/sdX/device/queue_depth)。所以,有些请求在这个队列满了的时候,没有插入到这个队列中,造成了这样的现象。

关于linux - block 层中重复的 LBA 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15303747/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com