首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让blktrace工具显示D- issued操作

如何让blktrace工具显示D- issued操作
EN

Stack Overflow用户
提问于 2015-07-02 02:38:54
回答 1查看 353关注 0票数 2

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

代码语言:javascript
复制
259,0    2   189505     9.997188463  8160  Q   R 126875648 + 248 [fio]
259,0    2   189506     9.997191290  8160  Q   R 126875896 + 8 [fio]
259,0    2   189507     9.997215574  8160  Q   R 363057152 + 248 [fio]
259,0    2   189508     9.997218444  8160  Q   R 363057400 + 8 [fio]
259,0    2   189509     9.997219210  8160  C   R 216536568 + 8 [0]
259,0    2   189510     9.997220497  8160  C   R 126875896 + 8 [0]
259,0    2   189511     9.997230160  8160  C   R 363057400 + 8 [0]
259,0    2   189512     9.997248050  8160  Q   R 147316736 + 248 [fio]
259,0    2   189513     9.997250930  8160  Q   R 147316984 + 8 [fio]
259,0    2   189514     9.997277161     0  C   R 147316984 + 8 [0]

这显示了排队和完成的操作,但不显示我感兴趣的D- issued操作。这就是问题所在。我需要更多的行动(事件)显示。这是来自

代码语言:javascript
复制
blktrace /dev/nvme0n1

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

代码语言:javascript
复制
blktrace /dev/sda

它的工作原理如下所示:

代码语言:javascript
复制
  8,0   18       69    17.778827207  8538  Q  RA 306186592 + 8 [ls]
  8,0   18       70    17.778827767  8538  G  RA 306186592 + 8 [ls]
  8,0   18       71    17.778828037  8538  I   R 306186592 + 8 [ls]
  8,0   18       72    17.778828284  8538  D   R 306186592 + 8 [ls]
  8,0   18       73    17.778832181  8538  A  RA 306186600 + 8 <- (8,1) 306184552
  8,0   18       74    17.778832397  8538  Q  RA 306186600 + 8 [ls]
  8,0   18       75    17.778832951  8538  G  RA 306186600 + 8 [ls]
  8,0   18       76    17.778833221  8538  I   R 306186600 + 8 [ls]
  8,0   18       77    17.778833441  8538  D   R 306186600 + 8 [ls]
  8,0   18       78    17.778837161  8538  A  RA 306186608 + 8 <- (8,1) 306184560

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-02 11:04:09

只要您的nvme设备具有块设备接口,您就应该能够看到D。在fio中试用libaio引擎并运行random write。确保在/sys/block/nvme../scheduler中设置了NOOP IO调度程序

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

https://stackoverflow.com/questions/31169141

复制
相关文章

相似问题

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