各プロセスのディスクアクティビティを監視しようとしています。これを行う方法を見つけた1つの方法は、/proc/pid/ioファイルを読み取り、そのフィールドを以前に読み取ったフィールドと比較することです。私の監視プロセスが一部のioファイルだけを読むことができるようであることを除いて、うまくいきます(たとえば、Apacheを読む権限がありません)。他人のIOを読む方法は?たぶんこれを達成するより良い方法がありますか?
編集する明らかにプロセスをrootとして実行できますが、これを避けたいと思います。
ベストアンサー1
使用iotop
。
Redhat/Centos/Fedora システムのリポジトリで利用できる必要があります(まだインストールされていない場合)。
同様の情報を出力しtop
ますが、CPU/メモリ統計の代わりにIO統計(ディスクの読み取り、書き込み、およびスワップ)を取得します。
-p
あなたは-u
これらのオプションに興味があるかもしれません--only
。
たとえば、プロセスID 5435の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.