0

我正在创建一个测量磁盘使用情况的 C++ 应用程序。/proc/diskstats我已经能够通过定期读取来检索当前的磁盘使用情况(读写速度) 。

我现在希望能够以百分比的形式显示此使用情况(我发现它比原始数字更易于使用,这可能很难解释)。因此,有谁知道在 Linux 上以编程方式检索最大(或标称)磁盘 I/O 速度的方法(API 调用、读取文件等)?

我知道有关测量磁盘速度的各种答案(例如https://askubuntu.com/questions/87035/how-to-check-hard-disk-performance),但都是通过测试。我想避免这样的方法,因为它们需要一些时间来运行并且在运行时需要大量的磁盘 I/O(因此可能会降低其他正在运行的应用程序的性能)。

4

1 回答 1

0

在 IBM PC 时代来临之际,有一个很棒的 DOS 实用程序,我忘记了它的名字,但它正在测量计算机的速度(也许是 Speedtest?随便)。屏幕底部 2/3 处有一个条形图,表示 CPU 的速度。如果您有 4.0 MHz(不是 GHz!),则该条占据屏幕的 10%。

2-3年后,'386电脑崛起了,速度指示条不仅是线,而且是屏幕,看起来很糟糕。

因此,没有 100% 的磁盘速度、CPU 速度等。

你能做到的最好:如果你的程序运行一段时间,你可以记住最高值并将其设置为 100%。可能您可以将值保存到 tmp 文件中。

于 2019-08-23T12:28:56.397 回答