さまざまなパラメータに基づいてディスク統計を取得する方法

さまざまなパラメータに基づいてディスク統計を取得する方法

次のいくつかのパラメータでグループ化されたディスク統計を取得する方法はありますか?

サイズ/遅延時間別に作成しますか?サイズ/遅延時間で読みますか?

それは次のとおりです。

total writes - 100
writes by size:
    - < 4096 - 20
    - 4096 - 16384 - 30
    ...

ここで、4096/16384はブロックサイズです。

答え1

eBPF を使用してレイテンシ別にグループ化します。https://github.com/iovisor/bcc/blob/v0.9.0/tools/biolatency_example.txt

サイズ別に分類する方法はよくわかりません。 eBPFまたはblktraceを使用することは確かに可能です。 (オーバーヘッドが少し高いと思いますblktrace。)


混乱して、ある種のblock/blk-stat.c待ち時間ヒストグラムが実装されています。 (「バケット」への参照を参照してください。 ただし、カーネル内のいくつかの場所でのみ使用され、カーネルの外では使用できません。

関連情報