2016-01-03 39 views
2

我需要訪問linux內核指標,其中之一就是文件系統的讀寫速度。如何在c程序中訪問linux文件系統的讀寫速度?

我知道有'dd','hdparm'和'iotop'等命令提供有關文件系統數據傳輸速度的信息,但我不知道如何在C程序中讀取這些信息,以及然後,例如,我在控制檯上打印速度。

如果有一個文件,它有速度信息,它可以在C程序中讀取文件和訪問速度。 這怎麼辦? 謝謝。 enter image description here


我讀iostats.txt documentation.The文件的/ proc/diskstats對每行11參數。根據iostats.txt,對於每一行,第三個參數是讀取扇區的總數,第四個參數是以毫秒爲單位的讀取時間總數。 如果every sector is 4096 bytes,所以讀取速度公式必須是: speed = (($3) * 4096)/ $4($ x表示參數x)

enter image description here

但是當我計算我的閃速存儲器的讀出速度,這是0.2兆字節/秒,雖然它必須根據命令iostat -k 2或gnu磁盤實用程序(圖形應用程序)可爲約7 Mb/sec。 如何從這些參數評估速度,以MB /秒爲單位評估速度的正確公式是什麼?

+0

定義「系統的數據傳輸速度」。您在圖像中顯示的數字(請不要將文本作爲圖像發佈)是一個文件傳輸的傳輸速度,而不是系統(不管是什麼)傳輸速度。 – fuz

+0

我想獲得文件系統的讀取速度,如命令: [_iostat -k 2_] 在我的C程序中 –

+0

爲什麼你不說這首先? – fuz

回答

1

文件/proc/diskstats包含有關磁盤性能的統計信息。有關如何解釋其內容的文檔可以在文件Documentation/iostats.txt的內核樹中找到。

相關問題