加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:28:55 所属栏目:Windows 来源:网络整理
导读:我有一个使用大量内存映射文件的进程. 问题是这些文件保存在物理内存中,即使机器内存不足,其他进程也需要此内存. 我已经尝试使用SetProcessWorkingSetSize来限制流程工作集,但它没有帮助,流程的工作集不断增长超过最大值. 有没有更好的方法来限制流程的工作
我有一个使用大量内存映射文件的进程.
问题是这些文件保存在物理内存中,即使机器内存不足,其他进程也需要此内存.

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读