为什么32位Windows最多可以有16TB页面文件?

为什么32位Windows最多可以有16TB页面文件?

根据微软,64位和32位Windows的页面文件大小分别为256TB和16TB。

在 64 位中,虚拟地址如下所示:

64位虚拟地址格式

通过 4 级 9 位内存映射字段和页内 12 位偏移量,64 位 Windows 最多可以映射 2 9+9+9+9+12字节 = 256 TB。

在32位中,虚拟地址如下所示:

32位虚拟地址格式

有了 2 级 10 位内存映射字段和页面内 12 位偏移量,32 位 Windows 应该能够映射最大 2 个10+10+12字节 = 4GB?那为什么是 16TB?

答案1

你的算术是正确的:2 的 32 次方等于 4 GB。

但是,文件的大小是按块来计算的。

如果一个块的大小为 4 K(这是 NTFS 的标准),则最大大小(以字节为单位)为:

4 GB x 4 K = 16 TB

答案2

你的方程式中考虑过 PAE 吗?

它说这里在 boot.ini 文件中添加 /PAE(或 /pae)参数可以使 32 位 Windows 中的页面文件更大,最高可达 16TB。

相关内容