各プロセスのディスクアクティビティを監視しようとしています。これを行う方法を見つけた1つの方法は、/ proc/pid/ioファイルを読み取り、フィールドを以前に読み取ったものと比較することです。私の監視プロセスが一部のioファイルしか読み取れないように見えることを除いて、これは正常に機能します(たとえば、Apacheを読み取る権限がありません)。他人のioを読む方法は?また、おそらくこの目標を達成するためのより良い方法がありますか?
編集明らかにプロセスをルートとして実行できますが、それは避けたいと思います
iotop
を使用します。
Redhat/Centos/Fedoraマシンのリポジトリで利用できるはずです(まだインストールされていない場合)。
top
と同様の情報を出力しますが、CPU /メモリ統計の代わりに、IO統計(ディスクの読み取り、書き込み、スワップイン)を取得します。
オプション-p
、-u
および--only
あなたが興味を持っているかもしれません。
たとえば、ID5435のプロセスのIOアクティビティを確認するには、次を使用します。
iotop -p 5435
man
ページから:
-p PID, --pid=PID
A list of processes/threads to monitor (all by default).
-u USER, --user=USER
A list of users to monitor (all by default)
-P, --processes
Only show processes. Normally iotop shows all threads.