windows – 内存映射文件保留在物理内存中?

前端之家收集整理的这篇文章主要介绍了windows – 内存映射文件保留在物理内存中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用大量内存映射文件的进程.
问题是这些文件保存在物理内存中,即使机器内存不足,其他进程也需要此内存.

我已经尝试使用SetProcessWorkingSetSize来限制流程工作集,但它没有帮助,流程的工作集不断增长超过最大值.

有没有更好的方法来限制流程的工作集?
我可以更改Windows的heuristcs用于分页内存映射文件吗?

解决方法

如果您发现使用内存映射文件的进程持有很多这些页面,那么这意味着操作系统不需要丢弃任何内存映射区域以提供给其他进程.那么,您如何知道其他进程实际上需要当前用于映射文件的内存?仅仅因为操作系统物理RAM较低就没有任何意义.其他进程必须要求内存使操作系统删除映射的页面并为它们提供RAM.

因此,您的mmap-I / O进程似乎正在使您的其他进程不再使用RAM.一种方法是明智地锁定正在饥饿的进程中的内存.查看VirtualLock for win32.

猜你在找的Windows相关文章