
私のドキュメント管理ソフトウェアは多くの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
iotop
lsof
のマニュアルページを見てみましたが、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イノティファイツール)または以下のようなより複雑なシステムパムまたは賭ける。