我的hdparm -t缓冲磁盘读取输出约为120 MB /秒。但是,当我设法在大约一秒钟的时间内读取所有文件(fread()上的c)时,我正在编写一些涉及读取大文件(约400MB)的代码。 hdparm输出不完全说明我的理解吗?为什么我读得这么快?

我对读取的字节进行非常简单的处理,计算出字母“ A”有多少。

最佳答案

hdparm绕过了操作系统的缓存,但是您的测试程序正在利用它。假设您正在运行Linux,请使用以下命令从页面缓存中逐出所有内容(源:http://linux-mm.org/Drop_Caches):

echo 3 > /proc/sys/vm/drop_caches


然后,运行您的测试程序。该速率应等于或低于hdparm报告的速率。

10-07 14:50