什么类型的内存在32位Windows上有2 GB的限制?

时间:2012-01-06 01:03:24

标签: c# .net windows memory

使用32位Windows 7时,大多数应用程序不能超过2 GB限制(由于可寻址大小,许可等原因)。

在32位操作系统上运行Visual Studio时,当工作集达到1.8 GB时,它通常会开始抛出OutOfMemoryException。这可能是由于物理内存碎片造成的。

这2 GB限制究竟是指什么?

是工作集,私有工作集,私有字节,承诺大小(虚拟大小)还是其他东西的组合?

另外,如果你想检查一个应用程序是否可能遇到2 GB的限制,你应该注意哪种类型的内存?

这是一篇与我的记忆问题类似的帖子:

What is private bytes, virtual bytes, working set?

1 个答案:

答案 0 :(得分:2)

32位Windows应用程序具有2GB虚拟地址空间限制(this can sometimes be extended to 3GB by setting some OS boot time switches)。根据您链接的问题,这有时称为虚拟字节。