我见过这个问题并且它不是重复的,尽管标题不同,因为给出的答案并未回答我的问题。
我目前有一个 Windows XP 系统,它报告的系统提交使用量低于物理内存使用量。我的理解是系统提交是页面文件加上 RAM 使用量的总量。正如维基百科所述:
如果必须删除 RAM 的所有当前内容,则将使用的页面文件量。
那么如何才能让 RAM 使用率更高比 RAM 总和和页面文件的使用情况?
答案1
提交费用金额不包括所有物理内存;它仅计算可以分页到磁盘的所有物理内存。
从突破 Windows 的极限——虚拟内存(我建议阅读整篇文章)
正如您从提交保证的描述中所期望的那样,提交限制是物理内存和页面文件大小的总和。实际上,并不是所有的物理内存都计入提交限制,因为操作系统会保留部分物理内存供自己使用。
和
进程分配的虚拟内存并非全部计入提交限制。如您所见,保留的虚拟内存不计入。表示磁盘上文件的虚拟内存(称为文件映射视图)也不计入限制,除非应用程序要求写时复制语义,因为 Windows 可以从物理内存中丢弃与视图相关的任何数据,然后从文件中检索它。因此,Testlimit 地址空间中映射可执行文件和系统 DLL 映像的虚拟内存不计入提交限制。有两种类型的进程虚拟内存计入提交限制:私有和页面文件支持。
因此,某些操作系统内存使用量以及内存映射文件不计入该限制。在 Windows 中,所有 EXE 和 DLL 文件都作为内存映射文件加载。它们被加载到物理内存中,但由于它们在加载后不会被修改(通常),因此 Windows 不会通过页面文件支持它们,因为它知道它可以从磁盘文件中重新读取它们 - 这就是它们不计入提交限制的原因。