回答:
Iotopは、あなたが望むものに適したツールです。また、DISK READ、DISK WRITE、SWAPIN、およびIOのいずれかのI / Oの累積量(全体の割合)を表示できます。これは気の利いたインターフェイスを介しています:
のようtop
に、プレゼンテーションはかなり忙しいです。もう1つは、無数のオプションがないことですtop
(たとえば、興味のない列を非表示にすることはできません)が、このツールは特定の目的には十分すぎるほどです。
-o
(--only
)を渡して、I / Oを実行していないすべてのタスクを実際に除外できます。これにより、リストの混雑が
lsof
(man lsof)を使用できます。以下は、書き込み用に開いているすべてのファイルのリストを返します。
lsof | grep -e "[[:digit:]]\+w"
w
あなたが書くために開いているファイルをgrepメイク上記のコマンドからのみ。書き込みおよび読み取り用に開いているファイル(u
)は表示されませんが、書き込みも可能です。書き込みおよび読み取りと書き込みのために開いているファイルを表示したい場合、これがあなたが探しているものだと思います:lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
特にディスクのアクティビティが少ない場合は、iotopをバッチモードで使用して、短いアクセス行がすぐに消えないようにする必要があります。Linuxでファイルシステムの読み取り/書き込みをファイル名で記録するにはどうすればよいですか?これを行う方法を示します。
これまでのところ
iotop
、最良の全体的なソリューションです。次のコマンドは、ディスクを使用するすべてのプロセスのリアルタイム出力を提供します。
iotop -bktoqqq -d .5
where: -b is batch mode
-k is kilobytes/s
-t adds timestamp
-o only show processes or threads actually doing I/O
-qqq removes output headers
-d .5 updates every .5 seconds
プロセスIDを取得したら、次のコマンドでファイルを見つけることもできます。
lsof -p $PID