2010-05-18 90 views
2

我有一个自定义应用程序,其中有一堆文件打开。我可以看到使用“lsof”的进程打开的文件句柄,我可以使用“watch -d'ls -alh'”看到正在访问的文件,并观看mtime/ctime。但是,我希望看到正在读取/写入这些文件的数据的速率。 IE:我需要确定是否有一个文件正在以100 Mbps的速度读取并最大化磁盘。随后,有几个正在以1 Mbps写入的文件?查看特定磁盘的吞吐量并不是很有用,因为我需要缩小哪个文件正在遭受攻击。Linux,监视文件的读取速率

恐怕还有一个问题;理想情况下,我需要确定这一点,而无需安装任何其他软件或编写脚本......仅仅因为这是“非常生产”系统之一。

有人知道一种方法吗?非常感谢任何建议。

回答

1

结账strace。它可以附加到正在运行的进程上,并精确地告诉你它们执行的系统调用以及参数是什么 - 通过一个小型的解释器脚本,您可以准确地推断出您在观看时正在从哪个文件句柄读取多少个字节。

+2

没关系,但我希望能有一个更标准的命令,我很惊讶这不是标准系统实用程序的一部分。 – xconspirisist 2010-05-21 10:37:38