2012-02-18 67 views
1

是否有可能为进程间通信创建内存映射文件,并保证内容始终保存在RAM中而不会刷新到页面文件?如何确保内存映射文件始终在RAM中

我目前正在开发一个定制的OLAP应用程序。其核心思想是拥有一个像存储库一样的进程,其中包含所有数据以及实际进行计算的多个工作进程。虽然通常情况下一切都很平稳,但当工作人员试图在一段时间内没有使用过的文件的一部分上创建视图时,性能会出现问题,因此我的问题就是这样。

RAM数量不是问题(Windows/64位) - 我们只是不知道是否可以停止系统使用页面文件。

回答

1

您可能正在寻找VirtualLock函数。

锁定进程的虚拟地址空间分成 物理内存的指定区域,确保随后进入本地区将 不会招致页面错误。

Caveat lector

+0

谢谢 - 这正是我需要的。并感谢您的警告 - 我将着手调查此解决方案可能为项目带来的潜在副作用。 – 2012-02-23 00:23:12