我在64位Windows操作系统上看到,可用的用户虚拟地址空间是8个terra字节.但是,如果我们正在执行的程序在32位兼容模式下运行,那么这个用户空间仍然可用吗?或者它的行为类似于普通的32位操作系统,并且只提供2GB的用户地址空间?
Microsoft有一个图表显示各种限制:Windows版本的内存限制
仅概括用户模式虚拟地址空间:
32位Windows:
32位进程:默认为2 GB; 3 GB /LARGEADDRESSAWARE:YES
和4GT
64位Windows(x64架构):
32位进程:默认为2 GB; 4 GB带/LARGEADDRESSAWARE:YES
64位进程:默认为8 TB; 2 GB带/LARGEADDRESSAWARE:NO
4GT是4千兆字节的调整:
XP:/3GB
boot.ini开关
Vista的: bcdedit /set increaseuserva 3072
Mark Russinovich撰写了一篇博文,解释了许多这些限制:推动Windows的局限:虚拟内存