如何在c程序中访问linux文件系统的读/写速度?

时间:2016-01-03 08:49:48

标签: c linux filesystems metrics

我需要访问linux内核指标,其中之一就是文件系统的读写速度。

我知道有'dd','hdparm'和'iotop'等命令可以提供有关文件系统数据传输速度的信息,但我不知道如何在C程序中读取这些信息然后例如,我在控制台中打印速度。

如果存在具有速度信息的文件,则可以在C程序中读取文件并访问速度。 如何才能做到这一点? 谢谢。 enter image description here

我阅读了iostats.txt文档。文件 / proc / diskstats 每行有11个参数。根据iostats.txt,对于每一行,第三参数是读取扇区的总数,第四参数是以毫秒为单位的总读取时间。 如果是every sector is 4096 bytes,那么阅读速度公式必须是: speed = (($3) * 4096 )/ $4($ x表示参数x)

enter image description here

但是当我计算出我的闪存的读取速度时,它是0.2 MB /秒,但根据命令 iostat -k 2 或gnu磁盘实用程序(图形应用程序)。 如何根据这些参数评估速度,以MB /秒为单位评估速度的正确公式是什么?

1 个答案:

答案 0 :(得分:1)

文件/proc/diskstats包含有关磁盘性能的统计信息。有关如何解释其内容的文档可以在文件Documentation/iostats.txt的内核树中找到。