1

具体的には、この質問はJavaとblktraceに関するものですが、次のように一般化できます。

パラメータ(具体的にはformat)を使用して、または使用せずに呼び出すことができるコマンドラインアプリケーション(blktrace)があります。デフォルトモードで呼び出されると、このアプリケーションは必要な1つのパラメーター(開始ブロック)を返します。

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プログラム内から呼び出されます。

アプリケーションから両方のパラメーターを同時に取得することはできません。アプリケーションの2つのインスタンスを同時に実行することはできません。インスタンスを次々に実行することはできますが、それは私のデータがすべて同じIOセット用にコンパイルされていないことを意味します。

同じ読み取り/書き込み操作で両方のパラメーターを取得する方法はありますか?

4

1 に答える 1

1

%Sが開始セクターを報告する次のコマンドを使用する場合はどうでしょうか。

blktrace -d /dev/sda -o - | blkparse -f "%D %2c %8s %5T.%9t %5p %2a %3d %N %S\n" -i -
于 2012-10-14T11:35:43.337 に答える