一定の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のサーバーです)。
ありがとうございました!
すでにiotopを使用しているので、これがどれだけ役立つかはわかりませんが、systemtapを次のように使用できます。
stap -v iotop.stp
そしてそれはあなたに出力を与えるでしょう
Process KB Read KB Written
Xorg 21 0
crond 10 0
wfica 2 0
http://www.linuxinsight.com/proc_sys_vm_block_dump.html
セットする vm.block_dump
少し待ってから、すぐにオフにします(sysctl -w ... ; sleep 1; sysctl -w ...
)。 dmesg
は、すべてのローダウンを明らかにします。
プロセスアカウンティングを試してください。
プロセスアカウンティングと組み合わせたtopのようなツールは、どのプロセスがディスクI/Oを最も使用しているかを示すことができます。
「sa」コマンドラインツールをチェックして、プロセスアカウンティング情報を解釈し、I/O操作の(平均)数でプロセスを並べ替えることもできます。
さて、lsofを実行して、/ dev/xvdaにあるファイルシステムでファイルを開いているプロセスを絞り込むことから始めることができます。 /etc/fstab
をチェックして、どのファイルシステムであるかを判別してください。