iotop
を実行して、優先度を下げる必要がある場合に備えて、ディスクのヘビーユーザーであるプログラムをチェックします。通常、これで十分ですが、iotop
はスレッドID(TID)のみを表示します。プロセスID(PID)を知りたいので、どのプロセスが原因であるかを詳しく調べます。
残念ながら、ps
はTID(別名SPID、LWP)を表示できますが、--pid
を使用したPIDのリストの場合のようにTIDのリストを取得するためのフラグはありません。私ができる最善のことは、TIDをリストしてから、出力をgrep
することです。たとえば、スレッドIDが792の場合、
$ ps -eLf | grep ' 792 '
これは適度に機能しますが、少しエレガントではありません。
もっと良い方法はありますか?
あなたはいつでもできます:
ps -eLo pid= -o tid= | awk '$2 == 792 {print $1}'
Linuxの場合:
$ readlink -f /proc/*/task/792/../..
/proc/300
またはzsh
を使用:
$ echo /proc/*/task/792(:h:h:t)
300