由于ec2上的缓慢IO,debugging高负载平均值

我在亚马逊ec2 ubuntu 11.04大型实例上,为数据库安装了150GB卷(ext4)。

CPU使用率非常低,但现在一天的平均负载一直在2.0。 我曾经有一个40GB的数据库分区,并没有这个问题。

iostat告诉我,我们花了很多时间等待io:

 :〜$ iostat 1 2
 Linux 2.6.38-11-virtual(flashgroup)04/05/2012 _x86_64_(2 CPU)

 avg-cpu:%user%nice%system%iowait%steal%idle
            7.16 0.09 2.62 1.11 2.09 86.92

设备:tps kB_read / s kB_wrtn / s kB_read kB_wrtn
 xvdap1 3.45 0.88 18.59 9137065 192742888
 xvdb 4.47 2.84 24.17 29479675 250638760
 xvdh 10.62 19.95 88.05 206811124 912892410
 xvdf 0.18 0.00 1.93 1378 19971464
 xvdg 0.00 0.00 0.00 656 0

 avg-cpu:%user%nice%system%iowait%steal%idle
            5.22 0.00 1.92 42.58 3.02 47.25

设备:tps kB_read / s kB_wrtn / s kB_read kB_wrtn
 xvdap1 0.00 0.00 0.00 0 0
 xvdb 43.00 0.00 172.00 0 172
 xvdh 0.00 0.00 0.00 0 0
 xvdf 49.00 0.00 288.00 0 288
 xvdg 0.00 0.00 0.00 0 0

该产品执行得很好,数据库不logging任何慢速查询…

我应该如何去debugging呢?

编辑:

事实certificate,没有一个卷performance出高延迟,系统的所有其他方面似乎是健康的。 维基百科告诉我 ,linux在负载平均状态下包含处于不可中断状态的进程。 ps告诉我有两个挂载命令处于这种状态:

 ps auxww |  grep“D”
根21557 0.0 0.0 9904 760?  D Apr03 0:00 umount db / dev / xvdh
根26428 0.0 0.0 16456 912?  D Apr03 0:00 mount / dev / xvdh / mnt / db

我害怕杀死这些(如果我尝试了可能不会工作),所以我认为这个实例是生病,需要重新启动。 谢谢你的帮助!

事实certificate,没有一个卷performance出高延迟,系统的所有其他方面似乎是健康的。 维基百科告诉我 ,linux在负载平均状态下包含处于不可中断状态的进程。 ps告诉我有两个挂载命令处于这种状态:

 ps auxww |  grep“D”
根21557 0.0 0.0 9904 760?  D Apr03 0:00 umount db / dev / xvdh
根26428 0.0 0.0 16456 912?  D Apr03 0:00 mount / dev / xvdh / mnt / db

重新启动实例摆脱了这些挂起处理,平均负载恢复正常。