操作系统从磁盘读取的内容比程序实际请求的要多,因为程序将来可能需要附近的信息。在我的应用程序中,当我从磁盘获取项目时,我想显示元素周围的信息间隔。在我请求和显示的信息量与速度之间需要权衡取舍。但是,由于操作系统已经读取了比我请求的更多的内容,因此访问内存中已经存在的这些字节是免费的。我可以使用什么 API 来找出操作系统缓存中的内容?
或者,我可以使用内存映射文件。在这种情况下,问题就归结为找出页面是否交换到磁盘。这可以在任何常见的操作系统中完成吗?
编辑:相关论文http://www.azulsystems.com/events/mspc_2008/2008_MSPC.pdf