在内存映射之前/之前使页面无效,以避免从磁盘

时间:2015-07-24 06:29:51

标签: c++ c windows winapi windows-7

我正在从IPC的进程中进行一些只写内存映射。但问题是,即使我只是在编写操作系统,仍然会读取将要从磁盘覆盖的页面,这会显着减慢速度。

我创建一个新视图(std::memset(ptr, 0, view_size))时,我试图简单地MapViewOfFile提示操作系统不要在页面中读取。但是我猜它要么正在阅读它们,要么就是试图从磁盘中获取智能和预取页面。

有什么方法可以阻止这种行为吗?例如当你刚刚创建一个新文件并开始编写操作系统时,由于页面不是“有效”,因此不会读取任何内容。我可以“无效”页面,类似于在添加到新的解析文件时它们如何在创建映射视图之前失效,以便操作系统不读取它们吗?

0 个答案:

没有答案