我一直在试图找出为什么我的盒子上有100%的iowait。若我做一些类似mysql选择查询的事情,系统会进入100%iowait(在我的服务器上的多个cpu上),这会杀死我的看门狗,有时还会杀死httpd本身。
在vmstat中,我看到大约每8秒就会有一次5MB的磁盘写入。这会导致至少一个cpu(共4个)阻塞一到两秒钟。
我不得不说,我的ext3中有几百万个文件(我尝试了ext2,但我没有启用atime和日志记录。)有一个硬件突袭,镜像了两个300GB的ide。
我错过了比赛。有什么方法可以找出这些写作的原因吗?以及如何加快文件系统的速度?
欢迎创意!
谢谢!
使用iotop
。
OK,可能的诊断步骤(用于后代):
-
您是否确认虚拟内存并没有耗尽,因此将进程交换到磁盘?
-
如果不是内核交换,您可以使用
strace
(因为您没有dtrace
)来证明是否是MySQL在写
你能提供更多硬件和O/S配置的细节吗?