web-dev-qa-db-ja.com

iostatでioアクティビティを引き起こしているファイルを追跡する

使用する

iostat -Nkx 1

ボリュームグループで通常のIOを取得していることがわかります。私がやろうとしているのは、そのIOをファイルにリンクする方法を見つけることです。/pipe/whateverは、どのプロセスがこれを作成しているかを確認しますIOおよびそれがヒットしている宛先。誰かがこれに遭遇して解決したことがありますか?

1
Khushil

決定的な方法は考えられませんが、これは何らかの作業を行う必要がある試みです。私は、blktraceを実行してデータを収集し、blkparseを使用してそれを表示できると思います。システムコールは、IOの生成を担当するものを示す必要があります。そして、システムコールを対応するファイルにマッピングできれば、いくつかの手がかりを得ることができます。たとえば、かなりの数のmkdir呼び出しがあり、1つの新しいdirか何かを作成した場合、IOをそれに起因させることができます。

それをbttしてから、seekwatcherを使用してファイルシステムレベルでIOパターンを確認することもできますが、どのファイルがIOの原因であるかを取得するツールを私は本当に知りません。

1

iotop を見て、問題のあるプロセスを名前またはプロセスID(PID)で分離しようとしましたか?そこから、 lsof -p PIDは、使用中のメインファイルの合理的な全体像を示します。

0
ewwhite