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


31

Lenovo T400とUbuntuでは、ハードドライブの書き込み用のライトが点滅し続けます。Linuxでは、どのプロセスがハードドライブへのI / Oを行っているかを知ることができるのかと思っていました。のようにtop、ほとんどのCPUとメモリを使用しているプロセスを見つけることができます。

回答:


41

Iotopは、あなたが望むものに適したツールです。また、DISK READ、DISK WRITE、SWAPIN、およびIOのいずれかのI / Oの累積量(全体の割合)を表示できます。これは気の利いたインターフェイスを介しています:

  • aキーボードを押すだけで、最も空腹なプロセスがソートされます。
  • 順序を逆にするには、単にを押しrます。
  • 他の列でソートする場合は、左/右キーを押すだけです。

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


3
Powertopは、ラップトップのバッテリーを使い果たしているものを見つけるのにも役立ちます。iotopは、ディスクアクセスを探す最初の場所です。
ジル 'SO-悪である停止

-o--only)を渡して、I / Oを実行していないすべてのタスクを実際に除外できます。これにより、リストの混雑が
緩和されます

15

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

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

1
開いているファイルと実際にアクセスされているファイルは2つの異なるものです。
-psusi

@psusi書き込み用に開いているファイルは「アクセス」されている可能性が非常に高いです。また、マンページからlsofを学習することにより、より多くの情報を取得できます。
ジェームズサムナーズ

5
書き込み用に開かれたファイルは、ある時点で書き込まれる場合がありますが、必ずしも現時点ではありません。多くのファイルは開いたままですが、ほとんど書き込まれません。一方、書き込まれているファイルはすばやく開いたり閉じたりするため、lsofには表示されません。いずれにせよ、現時点でどのプロセスが実際にディスクに書き込んでいるかを把握することはほとんど役に立ちません。
-psusi

wあなたが書くために開いているファイルをgrepメイク上記のコマンドからのみ。書き込みおよび読み取り用に開いているファイル(u)は表示されませんが、書き込みも可能です。書き込みおよび読み取りと書き込みのために開いているファイルを表示したい場合、これがあなたが探しているものだと思います:lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
Martijn 14

1
あなたは、使用したいと思う@Martijn grep -e**w**避けるマッチングに[0-9]\+[wu]別の列の内側


2

特にディスクのアクティビティが少ない場合は、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

1
この回答は、上記の(非常に古い)回答とどのように異なりますか?古い質問に答えるとき、あなたの答えが以前の答えとどう違うかを説明するのは良いことです。これは、読者が答えを選別するのに役立ちます。
スティーブン

これを指摘してくれてありがとう。コメントを考慮してこの回答を編集しました。
フランクブライトリング
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.