我们正在研究一个使用VS2008/C++以64位模式运行的Vista/Windows 7应用程序。我们将需要将数百个2-3 mb的数据块缓存在内存中,以达到某些内存限制的性能原因。我们的使用情况是这样的:如果所有数据都在磁盘上,我们就无法以足够快的速度读取数据。缓存的内存使用量将大于使用的1GB内存。为此,我们需要确保Windows不会将此内存分页,因为它会挫败我们为什么这样做的目的。如何让页面内存页面保持不变
我已经做了大量的研究,找不到说明如何做到这一点的文档。我见过几个推断内存映射文件的参考文件。有没有专家可以为我澄清这一点?
我知道还有其他程序可以适应这种情况,例如,分割blob并加载到memcache或内存数据库中,但它们在性能或代码复杂性方面都存在太多问题。
对此提出建议?
感谢您的答案。这是我无法弄清楚的部分。至于禁用分页文件,我以前从来没有过好运气,虽然我可能必须这样做。 – 2010-04-02 18:29:37