使用 DD 监控磁盘 I/O

使用 DD 监控磁盘 I/O

我一直在调查我的服务器是否遇到大量 iowait 问题。我在网上找到了很多关于运行 dd 命令的信息。我无法运行此转换:

[root@vps ~]# dd if=/dev/zero of=/tmp/test bs=64k count=16k conv=fdatasync
dd: invalid conversion: `fdatasync'
Try `dd --help' for more information.

我也尝试过不使用转换器,但我没有得到像其他人发的大多数帖子那样的统计数据。有人能解释一下为什么会这样吗?

[root@vps ~]# dd if=/dev/zero of=/tmp/test bs=64k count=16k
16384+0 records in
16384+0 records out

答案1

尝试使用 dstat 或 iostat 与 SWAT 或 Cacti 进行制图。(假设您没有使用 Solaris、OpenIndiana 或变体,在这种情况下您将使用 Dtrace。)

http://freshmeat.net/projects/dstat/?branch_id=54241&release_id=251831

http://blogs.oracle.com/paisit/entry/import_iostat_data_to_swat

http://forums.cacti.net/post-170326.html

另请参阅:

ioapps-http://code.google.com/p/ioapps/

strace_analyzer-跟踪器http://clusterbuffer.wetpaint.com/page/Strace+Analyzer+-+Next+Generation

strace_analyzer 教程 -http://www.linux-mag.com/id/7730/1/

答案2

您的 dd 版本显然不支持 fdatasync 转换。如果您无法从中获取统计数据,您可以使用类似以下代码执行自己的计算:

时间 sh -c "dd if=/dev/zero of=/tmp/test bs=64k count=16k && sync"

这将为您提供写入和同步所需的总时间 - 您只需将数据量(在您的示例中为 1 GB)除以时间即可计算平均写入速率。

相关内容