我想从磁盘IO生成一些跟踪文件,但问题是我需要实际输入数据以及时间戳,逻辑地址和访问块大小等。
我一直试图通过使用" blktrace |来解决问题。 blkparse "使用" iozone "在ubuntu VirtualBox环境中,但似乎无法正常工作。
blkparse中有一个选项可用于设置输出格式以显示数据包数据,-f"%P"但它不会打印任何内容。
下面的是我使用的命令:
$> sudo blktrace -a issue -d /dev/sda -o - | blkparse -i - -o ./temp/blktrace.sda.iozone -f "%-12C\t\t%p\t%d\t%S:%n:%N\t\t%P\n"
$> iozone -w -e -s 16M -f ./mnt/iozone.dummy -i 0
在打印格式"% - 12C \ t \ t%\ t \ t%\ t \ t%\ t \ t%S:%n:%N \ t \ t \ t%P \ n",其他所有内容均为印刷得很好,但是"%P"根本不打印。
是否有人知道为什么不显示数据包数据? 或者知道以其他方式获取具有实际输入值的磁盘IO数据包数据的任何人?
答案 0 :(得分:0)
据我所知blktrace
没有捕获实际数据。它只是捕获元数据。捕获实际数据的一种方法是编写自己的内核模块。 FIU.edu的一些学生在本文中做到了这一点:
"I/O deduplication: Utilizing content similarity to ..."
我也会在linux-btrace邮件列表中问这个问题: http://vger.kernel.org/majordomo-info.html