繁体   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