Windows 版本的内存限制 http://msdn.microsoft.com/en-us/library/windows/desktop/aa366778%28v=vs.85%29.aspx回答 Windows 上任何单个进程可以寻址的最大内存量是多少:
在 32 位版本的 Windows 上,单个进程可以映射和寻址
超过 3GB 的虚拟内存。在 64 位版本中
Windows,一个32位进程可以映射和寻址不超过4GB
一次虚拟内存。
对于 64 位进程,该数量很难计算,因为
有许多重叠的限制可能适用,具体取决于所有
种因素。通常约为 7TB。
我的问题:如何验证“3GB”、“4GB”等值?
可以写一个C#程序来证明吗?有没有办法呢?
Mark Russinovich 发表了有关 Windows 内存资源的多部分系列,确实很好地涵盖了这一点。你可以在这里找到它:http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx
他介绍了这些限制的原因以及测试。测试的代码漂浮在管道中的某个地方。
如果您想了解内存资源以及通过泄漏各种类型可以看到的问题,那么这是一本很好的读物。
但是,简而言之,32 位操作系统上的 32 位:2 GB,除非设置为大地址空间感知,在这种情况下为 3 GB。 64 位操作系统上的 32 位:2 GB,除非设置为大地址空间感知,在这种情况下为 4 GB。
64 位进程:2 GB,除非设置为大地址空间感知,在这种情况下,它最多可以寻址 8 TB,除非它托管在仅限于 7 TB 的基于 Intel Itanium 的系统上。
Microsoft 在以下位置声明了各种限制(按风格和类型):http://msdn.microsoft.com/en-us/library/aa366778.aspx http://msdn.microsoft.com/en-us/library/aa366778.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)