32 位操作系统限制为 2GB

32 位操作系统限制为 2GB

32 位操作系统的 2GB 限制是否意味着每个进程只能访问 2GB 内存或全部进程总共只能使用 2GB物理内存总共?

那么,为内核保留的 2GB 是否限制了所有进程总共可以使用的总量?

答案1

关于 32 位 Windows 操作系统的内存限制存在许多误解。

首先,我说的 RAM 包括所有类型的 RAM。因此,不仅仅是常规 RAM,还包括视频 RAM。

对于 32 位操作系统,每个进程的最大可用 RAM 量为 2 GB。如果您使用的是 64 位操作系统,则 32 位进程最多可分配 4 GB。

此外,整个操作系统只能为每个进程分配 4 GB 的内存,而 64 位操作系统可以分配 8 TB。

同样有趣的是,这个限制加起来就是分页池。这意味着 32 位操作系统总共不能使用超过 2 GB 的内存,也就是说包括虚拟内存在内的所有应用程序都只能使用 6 GB 的内存。当然,这与 RAM 无关,因为另外 2 GB 将存储在分页文件中,受限于硬盘的速度。

有关详细信息,请参阅For more information, seeWindows 版本的内存限制

注意:这仅适用于应用程序。32 位 Windows 操作系统最多可分配 4 GB,但其中 2 GB 仅分配给系统使用,仅剩下 2 GB 供应用程序使用。在某些情况下(尤其是较新的操作系统),这被划分为 3 GB 用于应用程序,1 GB 用于内核。

我只讨论 Windows,因为这个问题就是在这个背景下提出的。我不了解其他操作系统的限制。

答案2

如果 OP 指的是 Windows 操作系统,那么所有 32 位操作系统的总内存限制为 4GB,除了 2003 年的服务器数据中心或企业,它们有一个称为 PAE(物理地址扩展)的概念。现代 Linux 内核中也有此功能。当然,除了移动领域,32 位处理器变得越来越少见。

相关内容