use*_*616 2 memory windows memory-management
我试图了解提交的字节数和提交限制之间的实际差异。从下面的定义,
提交限制是无需扩展分页文件即可提交的虚拟内存量。它以字节为单位。提交的内存是在磁盘分页文件上保留空间的物理内存。
Committed Bytes是已提交的虚拟内存量,以字节为单位。
从我的计算机配置中,我看到我的物理内存为 1991 MB,虚拟内存(所有文件的总分页文件)为 1991 MB,最小允许为 16 MB,推荐为 2986 MB,当前分配为 1991 MB。
但是当我打开我的 perfmon 并监控 Committed Bytes 和 Commit Limit 时,数字差异很大。那么这些 Committed Bytes 和 Commit Limit 究竟是什么以及它们是如何形成的。
现在在我的 perfmon 中,Committed Bytes 的运行速度为 3041 MB(有时也会达到 4000 MB),Commit Limit 为 4177 MB。那么它们是如何计算的。请解释一下。我已经阅读了很多文档,但我不明白这是如何工作的。
请帮忙。谢谢。
提交限制是 RAM 大小(不是可用 RAM,操作系统可用的总 RAM)加上当前页面文件大小。
这是系统上可以存在的最大“私有提交”虚拟内存量。简而言之,“私有提交”虚拟内存是页面文件作为“后备存储”的虚拟内存。这意味着如果它不能全部保存在 RAM 中,那么不能保存在 RAM 中的内容必须在页面文件中,因为没有其他地方可以放置它。
提交的字节数,又名“提交费用”,主要是所有当前分配的私有提交内存的总和,加上下一段中提到的非分页分配。
其他类型的虚拟内存要么由其他文件(映射文件)支持 - 即它们带有自己的后备存储,因此它们不会对提交费用做出贡献 - 要么必须始终保留在 RAM 中(例如:非分页池;AWE分配)。这些确实有助于提交费用。
在 PerfMon 中,每个进程的“专用字节”计数器是其“提交的字节”分配。即它对全系统“提交费用”的贡献。分页池也算作“提交的字节”——它必须在 RAM 或页面文件中。非分页池、AWE 分配和其他不可分页的内容也计为“提交字节”(尽管它们从未进入页面文件),以便正确计算剩余的“提交限制”数量。这些是“提交字节”的主要贡献者。
超出提交限制是您看到“系统内存不足”或“系统内存不足”消息的原因。(它们与空闲 RAM 无关!)在前一种情况下,操作系统扩展了您的页面文件 - 从而增加了提交限制 - 为新分配腾出空间。在后者中,它已经尽可能多地完成了(在您当前的页面文件设置中)并且有人仍然想要更多。
有关更多信息,请参阅我的其他一些答案:“银行类比”,一个很长的,另一个。
| 归档时间: |
|
| 查看次数: |
6654 次 |
| 最近记录: |