web-dev-qa-db-ja.com

どのプロセスがこれを引き起こしているのかをどのように見つけることができますかIO読み取り(すでにiotopを試しました)

一定の1.4メガバイト/秒のIO 1台のサーバーで読み取られます(以下のiostat出力を参照)。どのプロセスが原因であるかを見つけるにはどうすればよいですか?すでにiotopとhtopを試しました、しかしそれらの問題を特定できませんでした:

Linux 2.6.35.4-x86_64-linode16 (la-machine)     02/16/11    _x86_64_    (4 CPU)

avg-cpu:  %user   %Nice %system %iowait  %steal   %idle
       0.16    0.01    0.11    0.68    0.01   99.03

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
xvda             42.29         1.39         0.08     568159      30959
xvdb              0.45         0.00         0.00        988       1202

Htop/iotopまたは別のツールを使用して、どのプロセスがディスクを消費しているかを見つけるのに役立つヒントはありますか? (これは現在トラフィックが0のサーバーです)。

ありがとうございました!

5

すでにiotopを使用しているので、これがどれだけ役立つかはわかりませんが、systemtapを次のように使用できます。

stap -v iotop.stp

そしてそれはあなたに出力を与えるでしょう

     Process       KB Read  KB Written
        Xorg            21           0
       crond            10           0
       wfica             2           0
3

http://www.linuxinsight.com/proc_sys_vm_block_dump.html

セットする vm.block_dump少し待ってから、すぐにオフにします(sysctl -w ... ; sleep 1; sysctl -w ...)。 dmesgは、すべてのローダウンを明らかにします。

3
poige

プロセスアカウンティングを試してください。

プロセスアカウンティングと組み合わせたtopのようなツールは、どのプロセスがディスクI/Oを最も使用しているかを示すことができます。

「sa」コマンドラインツールをチェックして、プロセスアカウンティング情報を解釈し、I/O操作の(平均)数でプロセスを並べ替えることもできます。

1
Hrvoje Špoljar

さて、lsofを実行して、/ dev/xvdaにあるファイルシステムでファイルを開いているプロセスを絞り込むことから始めることができます。 /etc/fstabをチェックして、どのファイルシステムであるかを判別してください。

0
Phil Hollenback