どのプロセスがハードドライブに書き込んでいるかを確認する

どのプロセスがハードドライブに書き込んでいるかを確認する

Lenovo T400およびUbuntuでは、ハードドライブのライトインジケータが点滅し続けます。 Linuxでは、どのプロセスがハードディスクにI / Oを実行しているかを調べることができるかどうかを知りたいです。同様に、topどのプロセスが最も多くのCPUとメモリを使用しているかを確認できます。

答え1

オートフ(シンプルなトップタイプI / Oモニター)はあなたのニーズに合った素晴らしいツールです。また、DISK READ、DISK WRITE、SWAPIN、およびIOの累積I / Oボリューム(全体のパーセンテージ)を表示できます。これは美しいインターフェースを通して達成されます。

  • キーボードを押すだけで、a最も空腹なプロセスのランクが一番上に表示されます。
  • 順序を変更するには、を押しますr
  • 他の列で並べ替えるには、左/右ボタンを押します。

良いtopプレゼンテーションかなり忙しいです。もう一つのことは、オプションが無限ではないということです。topたとえば、興味のない列を非表示にすることはできませんが、このツールは特定の目的には十分です。

答え2

使用できますlsofマンソフ)。以下は、書き込み用に開いているすべてのファイルのリストを返します。

lsof | grep -e "[[:digit:]]\+w"

答え3

特に、ディスクアクティビティが少ない場合は、短いアクセス回線が急速に消えるのを防ぐために、バッチモードで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

答え4

fatraceあなたを助けることができます。他の質問に対する私の答えへの恥ずかしいリンク:

iotopですが、特定のディスクの場合は?

関連情報