首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据块层中的重复LBA请求

数据块层中的重复LBA请求
EN

Stack Overflow用户
提问于 2013-03-09 05:36:54
回答 1查看 264关注 0票数 2

我使用blktrace来了解具有高IO负载的多线程IO工作负载中的块层行为。我可以在块层观察到一些重复的LBA请求。例如,在我的原始工作负载中,我只有一个对LBA 47568的写请求。但是,blktrace显示写入LBA 47568的121个请求!下面是blkparse日志的一部分,它只过滤I事件(插入到请求队列的IO)。我正在试图理解为什么会发生这种现象,以及我如何消除这种现象。我选择了noop IO调度程序和/sys/block/sdX/nomerge中的值2,以避免IO合并。我非常感谢你提前给予的帮助。

代码语言:javascript
复制
  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]
EN

回答 1

Stack Overflow用户

发布于 2013-03-10 09:24:09

好了,我要回答我的问题了。结果表明,工作负载中未完成的IO数量大于通用设备驱动程序队列大小(/sys/block/sdX/device/queue_depth)。因此,当队列已满时,一些请求无法插入队列,从而导致这种现象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15303747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档