IOを使用する実際のプロセスではなく、ほとんどのディスクIOがjbd2に起因するのはなぜですか?

IOを使用する実際のプロセスではなく、ほとんどのディスクIOがjbd2に起因するのはなぜですか?

ディスクIOを監視するとき、ほとんどのIOはjbd2に起因しますが、高いIOを引き起こす元のプロセスははるかに低いIO比に起因します。なぜ?

以下はiotopサンプル出力です(IO <1%のその他のプロセスは省略)。

ここに画像の説明を入力してください。

ベストアンサー1

jbd2ファイルシステムログを更新するカーネルスレッド。

複数のプロセスのアクティビティが結合され、問題を引き起こすプロセスのファイルシステムまたはディスクアクティビティを追跡することは困難です。たとえば、両方のプロセスが同時に同じファイルからデータを読み取る場合、読み取り操作はどのプロセスをターゲットにしますか?両方のプロセスが同じディレクトリに書き込まれ、ディレクトリがディスク上で一度だけ更新される(2つのジョブの組み合わせ)、どのプロセスに書き込みが渡されますか?

あなたの場合、ほとんどのトラフィックはジャーナルアップデートで構成されているようです。これはログ更新プログラムで再追跡できますが、ログ更新とこのログ更新が必要な書き込み操作を引き起こしたプロセスとの間には追跡はありません。

おすすめ記事