Windows 上任何单个进程可以寻址的最大内存量 [英] The maximum amount of memory any single process on Windows can address

查看:27
本文介绍了Windows 上任何单个进程可以寻址的最大内存量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

内存限制Windows Releases 回答了 Windows 上任何单个进程可以处理的最大内存量是多少:

Memory Limits for Windows Releases answers what is the maximum amount of memory any single process on Windows can address:

在 32 位版本的 Windows 上,单个进程可以映射和寻址没有超过 3GB 的虚拟内存.在 64 位版本的Windows,一个 32 位进程可以映射和寻址不超过 4GB 的一次虚拟内存.

On 32-bit versions of Windows, a single process can map and address no more than 3GB of virtual memory at time. In 64-bit versions of Windows, a 32-bit process can map and address no more than 4GB of virtual memory at a time.

对于 64 位进程,数量很难计算,因为有有许多重叠的限制,可以根据所有情况应用种因素.通常约为 7TB.

For 64-bit processes, the amount is difficult to calculate as there are numerous overlapping limits that could apply depending on all kinds of factors. It's typically around 7TB.

我的问题:如何验证诸如3GB"、4GB"之类的值?等等?

My question: How to verify the values such as "3GB", "4GB" etc.?

可以写一个C#程序来证明吗?有办法吗?

Can a C# program be written to prove it? Is there a method for it?

推荐答案

Mark Russinovich 发表了关于 Windows 内存资源的多部分系列文章,确实很好地涵盖了这一点.你可以在这里找到它:http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx

Mark Russinovich published a multipart series on windows memory resources really covers this very well. You can find it here: http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx

他介绍了限制的原因以及测试.测试代码在管道中的某个地方漂浮着.

He covers the reasons why the limits are what they are, as well as tests. The code for the tests are floating around in the tubes somewhere.

如果你想了解内存资源以及你可以从各种类型的泄漏中看到的问题,这是一个很好的阅读.

If you want to know about memory resources and the problems you can see from leaking the various types, it is a good read.

但是,简而言之,32 位操作系统上的 32 位:2 GB,除非设置为大地址空间,在这种情况下为 3 GB.64 位操作系统上的 32 位:2 GB,除非设置为大地址空间感知,在这种情况下为 4 GB.

But, in a nutshell, 32 bit on 32 bit OS: 2 GB, unless set to large address space aware, in which case 3 GB. 32 bit on 64 bit OS: 2 GB, unless set to large address space aware, in which case 4 GB.

64 位进程:2 GB,除非设置为大地址空间感知,在这种情况下,它最多可以寻址 8 TB,除非它托管在基于 Intel Itanium 的系统上,该系统限制为 7 TB.

64 bit process: 2 GB, unless set to large address space aware, in which case it could address up to 8 TB, unless it is hosted on an Intel Itanium-based systems which is limited to 7 TB.

Microsoft 在以下位置声明了各种限制(按风格和类型):http://msdn.microsoft.com/en-us/library/aa366778.aspx

Microsoft states the various limits (by flavors and types) at: http://msdn.microsoft.com/en-us/library/aa366778.aspx

这篇关于Windows 上任何单个进程可以寻址的最大内存量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆