如何确保内存映射文件始终位于 RAM 中
是否可以创建用于进程间通信的内存映射文件,并保证内容始终保存在 RAM 中而不刷新到页面文件?
我目前正在开发一个定制的 OLAP 应用程序。核心思想是拥有一个像内存库一样包含所有数据的进程,以及实际执行计算的多个工作进程。虽然通常一切都工作得非常顺利,但当工作人员尝试在一段时间未使用的文件部分上创建视图时,有时会出现性能问题 - 因此我的问题。
RAM 量不是问题(Windows/64 位) - 我们只是不知道是否可以阻止系统使用页面文件。
Is it possible to create a memory mapped file for interprocess communication with a guarantee that the content is always being kept in RAM and not flushed to page file?
I am currently working on a bespoke OLAP app. The core idea is to have one process like a memory bank which contains all the data, and multiple worker processes which actually do the calculation. While usually everything works very smoothely, from time to time there is a performance hiccup when a worker tries to create a view on a part of a file which has not been used for a while - hence my question.
Amount of RAM is not a problem (Windows/64 bit) - we just do not know whether it is possible to stop the system from using a page file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能正在寻找
VirtualLock
函数。请注意讲师。
You are probably looking for the
VirtualLock
function.Caveat lector.