我需要访问linux内核指标,其中之一就是文件系统的读写速度。
我知道有'dd','hdparm'和'iotop'等命令可以提供有关文件系统数据传输速度的信息,但我不知道如何在C程序中读取这些信息然后例如,我在控制台中打印速度。
如果存在具有速度信息的文件,则可以在C程序中读取文件并访问速度。 如何才能做到这一点? 谢谢。
我阅读了iostats.txt文档。文件 / proc / diskstats 每行有11个参数。根据iostats.txt,对于每一行,第三参数是读取扇区的总数,第四参数是以毫秒为单位的总读取时间。 如果是every sector is 4096 bytes,那么阅读速度公式必须是: speed = (($3) * 4096 )/ $4($ x表示参数x)
但是当我计算出我的闪存的读取速度时,它是0.2 MB /秒,但根据命令 iostat -k 2 或gnu磁盘实用程序(图形应用程序)。 如何根据这些参数评估速度,以MB /秒为单位评估速度的正确公式是什么?
答案 0 :(得分:1)
文件/proc/diskstats
包含有关磁盘性能的统计信息。有关如何解释其内容的文档可以在文件Documentation/iostats.txt
的内核树中找到。