IO消費が最も高いファイルを一覧表示する方法は?

IO消費が最も高いファイルを一覧表示する方法は?

私のドキュメント管理ソフトウェアは多くのIOを実行していますが、どのファイルに最もアクセスするのかを知りたいです。

iotopのように、ファイルに対して数秒ごとにIO消費が最も高いファイルのリストを提供できるLinuxツールはありますか?

これは次のようになります。

$ thetool
THRPUT   R/W/SWP FILE
40MB/s   write   /usr/alfresco/repo/1283421/1324928.doc
12MB/s   read    /usr/alfresco/cache/3928dh29f8if
11MB/s   read    /tmp/239398hf2f024f472.tmp

iotoplsofのマニュアルページを見てみましたが、straceそのような機能を提供していないようです。

答え1

あなたの「バイト数」の指標が間違っているようです。 2回の訪問を検討してください。ファイルから10MBを読みます。もう1つはファイルの512バイトごとに読み取られ、最初の10 MBを取得します。最初のアクセスの「バイト数」は、2番目のアクセスより512倍大きくなります。ただし、これらはすべてI / Oサブシステムにまったく同じ負荷をかけます。

「オペランド」(「バイト数」ほど良いか悪い)を受け入れれば、実際に測定できるものがあるのです。このプログラムはこれを行い、配布パッケージinotifywatchの一部であるinotify-tools可能性があります。

どのファイルが訪問のほとんどを構成しているかをすぐに通知し、実際の問題を解決するのに役立ちます。

答え2

まず説明:そのようなものはありません「IO消費ファイル」。ファイルは受動的なオブジェクトです。これはプログラムIOがトリガされ(通常はファイルの読み取り/書き込み)、ファイルにある程度アクセスできます。だからスループットファイルに関する言及は実際にはあまり意味がありません。ファイルに関する有用な情報は、ファイルアクセスおよび修正頻度であり得る。これは以下を使用して行うことができますnotifywait -m /some/file/or/directory(fromイノティファイツール)または以下のようなより複雑なシステムパムまたは賭ける

関連情報