lazy1 Asked: 2009-07-29 15:01:34 +0800 CST2009-07-29 15:01:34 +0800 CST 2009-07-29 15:01:34 +0800 CST 如何诊断不稳定的磁盘行为? 772 我有一个包含用户 lighttpd 和 CGI 脚本的网站。 升级到 Fedora 11 (ext4) 后,磁盘访问变得不稳定。时间python -c 'import cgi'在 0.1 到几乎 10 秒之间变化: 如何诊断问题?(工具、方法、最佳实践……) 2009 年 7 月 30 日更新: 发现有几个 CGI 进程占用了驱动器。杀死它们后,图表稳定在 0.02 和 0.03 之间。仍然没有得到有关如何诊断此类问题的答案。 cgi python lighttpd fedora ext4 3 个回答 Voted Saurabh Barjatiya 2009-07-30T00:41:49+08:002009-07-30T00:41:49+08:00 如果是全新安装,则 apropos 使用诸如 makewhatis 之类的工具,whatis 可能会导致磁盘被大量使用。等待几天让事情稳定下来(updatedb、prelink、makewhatis 等),然后时间可能会保持一致。 它还取决于您在服务器上执行的其他操作以及 cgi 脚本实际执行的操作、从何处获取输入、输入的大小等。 此外,如果磁盘很旧,请使用诊断工具(如seagate seatools)查找控制器/坏扇区问题。如果驱动器实际上来自希捷,这些工具还允许您选择修复扇区。 Sven 2009-07-29T15:43:42+08:002009-07-29T15:43:42+08:00 您真的需要/想要生产服务器上的 ext4 吗?对于我对服务器的品味,这仍然是一个强大的绿色。 Best Answer Insyte 2009-07-31T07:27:36+08:002009-07-31T07:27:36+08:00 诊断此类问题的唯一方法是使用大量数据。熟悉vmstat和iostat。我最近在这个线程中了解到的一个工具dstat有效地结合了两者。 对于您所描述的问题,此命令可能很有用: $ dstat -M app -cdnygl 它将报告 CPU、IO(磁盘和网络)、中断、交换和平均负载。作为一个不错的小奖励,它将包括拍摄快照时“最昂贵”的任何进程的名称。不幸的是,该特定命令产生的输出太宽而无法粘贴到此处,因此这里有一个更保守的版本: $ dstat -M 应用程序 -cdn --most-expensive-- ----total-cpu-usage---- -dsk/total- -net/total- 进程 |usr sys idl wai hiq siq| 阅读令状| 接收发送 bacula-fd 0| 1 0 98 0 0 0| 426k 108k| 0 0 重击 1| 2 2 96 0 0 0| 0 20k|1460B 1804B 阿帕奇2 8| 4 2 94 0 0 0| 0 0 | 76k 15k | 1 3 96 0 0 0| 0 0 |1132B 1034B 阿帕奇2 1| 2 2 96 0 0 0| 0 8192B| 11k 3895B | 2 1 96 0 0 0| 0 32k|3322B 1338B 基米0 1| 2 2 96 0 0 0| 0 0 |1309B 1146B
如果是全新安装,则 apropos 使用诸如 makewhatis 之类的工具,whatis 可能会导致磁盘被大量使用。等待几天让事情稳定下来(updatedb、prelink、makewhatis 等),然后时间可能会保持一致。
它还取决于您在服务器上执行的其他操作以及 cgi 脚本实际执行的操作、从何处获取输入、输入的大小等。
此外,如果磁盘很旧,请使用诊断工具(如seagate seatools)查找控制器/坏扇区问题。如果驱动器实际上来自希捷,这些工具还允许您选择修复扇区。
您真的需要/想要生产服务器上的 ext4 吗?对于我对服务器的品味,这仍然是一个强大的绿色。
诊断此类问题的唯一方法是使用大量数据。熟悉
vmstat
和iostat
。我最近在这个线程中了解到的一个工具dstat
有效地结合了两者。对于您所描述的问题,此命令可能很有用:
它将报告 CPU、IO(磁盘和网络)、中断、交换和平均负载。作为一个不错的小奖励,它将包括拍摄快照时“最昂贵”的任何进程的名称。不幸的是,该特定命令产生的输出太宽而无法粘贴到此处,因此这里有一个更保守的版本: