如何确定数据是从磁盘还是从缓存中检索的

How to determine whether data has been retrieved from disk or from caches?

本文关键字:检索 缓存 磁盘 何确定 数据      更新时间:2023-10-16

我用C/C++编写了一个程序,需要从磁盘中获取数据。一段时间后,操作系统会将一些数据存储在缓存中。有没有什么方法可以让我在C/C++程序中弄清楚数据是从缓存中检索的还是从磁盘中检索的?

一个简单的解决方案是对读取操作计时。磁盘读取速度明显较慢。您可以读取一组文件块(4K)两次以获得估计值。问题是,如果你再次运行程序或在shell中复制文件,操作系统会缓存它。