簡體   English   中英

檢索磁盤讀/寫最大速度(以編程方式)

[英]Retrieving disk read/write max speed (programmatically)

我正在創建一個測量磁盤使用情況的C ++應用程序。 我已經能夠通過定期讀取/proc/diskstats來檢索當前的磁盤使用情況(讀取和寫入速度)。

現在,我希望能夠以百分比形式顯示此用法(我發現它比原始數字更易於使用,這可能很難解釋)。 因此,有人知道在Linux上以編程方式檢索最大(或標稱)磁盤I / O速度(API調用,讀取文件等)的方法嗎?

我知道有關測量磁盤速度的各種答案(例如https://askubuntu.com/questions/87035/how-to-check-hard-disk-performance ),但是所有這些都是經過測試的。 我想避免使用這樣的方法,因為它們需要一些時間才能運行,並且在運行時會占用大量磁盤I / O(因此可能會降低其他正在運行的應用程序的性能)。

在IBM PC時代的到來中,有一個很棒的DOS實用程序,我忘了它的名字,但是它衡量的是計算機的速度(也許是Speedtest? 屏幕底部2/3處有一個橫條,代表CPU的速度。 如果您使用的是4.0 MHz(不是GHz!),則條形占據屏幕的10%。

2-3年后,'386電腦開始興起,速度指示條不僅覆蓋了生產線,而且覆蓋了屏幕,而且看上去太爛了。

因此,沒有諸如100%磁盤速度,CPU速度等。

您可以做的最好的事情:如果您的程序運行了一段時間,您可以記住最高值並將其設置為100%。 可能您可以將值保存到tmp文件中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM