在linux中调试100%iowait问题

时间:2008-11-02 21:39:42

标签: unix iowait

我一直试图追查为什么我的箱子上有100%的爱荷华州。如果我执行类似mysql select查询的操作,系统会转到100%iowait(在我的服务器上的多个cpu上),这会杀死我的监视器,有时会杀死httpd本身。

在vmstat中,我看到每隔8秒左右就有一个5MB的磁盘写入。这导致至少一个cpu(4个中的一个)被阻塞一两秒钟。

我不得不说我的ext3中有几百万个文件(我尝试了ext2,我没有时间也没有启用日记功能。)有一个硬件raid,镜像了两个300GB的ide。

我缺少dtrace。有没有办法找出导致这些写入的原因?以及如何加快文件系统的速度?

欢迎提出意见!

谢谢!

2 个答案:

答案 0 :(得分:7)

使用iotop

答案 1 :(得分:0)

好的,可能的诊断步骤(后人):

  1. 您是否确认实际上没有用完虚拟内存,因此将进程交换到磁盘?

  2. 如果不是内核交换,您可以使用strace(因为您没有dtrace)来证明它是否正在执行写操作

    < / LI>

    您能否提供有关硬件和操作系统配置的更多详细信息?