【问题标题】:Can blktrace only trace one specific process?blktrace 只能跟踪一个特定的进程吗?
【发布时间】:2012-05-28 06:56:57
【问题描述】:

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

谢谢, 杰夫

【问题讨论】:

    标签: linux io trace dump blktrace


    【解决方案1】:

    不,blktrace 在设备上工作,因为它是一个 i/o 性能工具,而不是一个进程。我猜你必须配置一个进程来使用一个特定的块设备,但如果你可以的话,没有其他进程可以做类似的事情。

    【讨论】:

    • 谢谢,但我已经这样做了。有很多系统事件消息(例如 cfq)使得解析 44M blktrace 转储文件需要 12 分钟。正常吗?有没有办法优化它?谢谢!
    • 我正在使用“blktrace -d /dev/sda -o - | blkparse -i -”。当我杀死 blktrace 时,blkparse 需要很长时间(解析 44M 需要 12 分钟)才能完成......
    • -过滤器掩码是我所知道的唯一方法,它会限制跟踪的事件类型,您可以使用它来查看是否可以获得您想要的正确的,而不是其他的。我自己还没有真正玩过这些。手册页有过滤器掩码的详细说明。
    【解决方案2】:

    使用 blkparse 的“-o”选项来避免将数据输出到标准输出。这减少了 blkparse 所需的时间。我能够在 30 秒内解析 72MB。

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 2013-09-15
      • 1970-01-01
      • 2018-07-18
      • 2014-10-11
      • 2019-05-03
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      相关资源
      最近更新 更多