web-dev-qa-db-ja.com

どのkjournaldプロセスがどのファイルシステムに属しますか?

それぞれがマウントされていることを理解していますext3ファイルシステムでは、対応するkjournaldプロセスが実行されます。それらのプロセスの1つは多くのCPUを使用しており、どのファイルシステムが原因であるかを知りたいです。

私は3を持っています ext3ファイルシステムがマウントされましたが、プロセスは次のようにのみ表示されます

root       325     2  0 Sep23 ?        00:30:12 [kjournald]
root      7433     2  0 Sep23 ?        00:00:00 [kjournald]
root      7434     2  0 Sep23 ?        00:09:47 [kjournald]

どのプロセスがどのファイルシステムに関連付けられているかをどのように判断できますか?

5
Flup

これを行う間接的な方法は、blktraceとその便利なコマンドbtraceを使用することです。 blktraceは、ディスクへのブロックレベルのアクセスを記録して表示します。 btraceは、blktraceのすべてのオプションを覚えておく必要がないことを意味します。

# btrace /dev/sda1 | grep kjournald
  8,1    5        1     0.000201850   325  Q  WS 451573976 + 8 [kjournald]
  8,1    5        2     0.000393849   325  Q  WS 976637584 + 8 [kjournald]
  8,1    5        3     0.000398641   325  Q  WS 976637592 + 8 [kjournald]
  8,1    5        4     0.000401003   325  Q  WS 976637600 + 8 [kjournald]
  8,1    5        5     0.000404179   325  Q  WS 976637608 + 8 [kjournald]
  8,1    5        6     0.000407446   325  Q  WS 976637616 + 8 [kjournald]
                                      ^^^
                                      pid of kjournald for /dev/sda1

ここに表示されるフィールドは、blkparseマンページに記載されています。 5番目のフィールドは、I/Oを実行するプロセスのPIDです。したがって、kjournaldsをファイルシステムに直接関連付ける方法はありませんが、特定のブロックデバイスに関連付けられているプロセスを確認し、マウントテーブルを調べて、どのファイルシステムが関係しているかを確認できます。

1
Flup