具体地说,这个问题是关于Java和blktrace的,但它可以概括为:
有一个命令行应用程序(blktrace),可以使用参数(具体地说,format)调用,也可以不使用。在默认模式下调用时,此应用程序返回一个我需要的参数(开始块):
blktrace -d /dev/sda -o - | blkparse -i -
8,0 0 144 0.011134344 524 I W 819422 + 8 [kjournald]而不是另一个(IO大小)。我可以添加参数(-f)来指定后一个参数:
blktrace -d /dev/sda -o - | blkparse -f "%D %2c %8s %5T.%9t %5p %2a %3d %N\n" -i -
8,0 0 237 2.013031115 524 I W 4096但这样做意味着我失去了前者。应用程序是从Java程序内部调用的。
我不能同时从应用程序中获取这两个参数。我不能同时运行应用程序的两个实例。我可以一个接一个地运行实例,但这意味着我的数据并不都是为相同的IO集编译的。
你知道我如何才能获得同一读/写操作的两个参数吗?
发布于 2012-10-14 19:35:43
如何使用以下命令,其中%S报告开始扇区:
blktrace -d /dev/sda -o - | blkparse -f "%D %2c %8s %5T.%9t %5p %2a %3d %N %S\n" -i -https://stackoverflow.com/questions/12881170
复制相似问题