Debugging Tools for Windows |
在32位版本Windows 上,/3GB参数启用4GT内存调整,既一个将用户模式虚拟地址空间扩展到3GB并将内核的地址空间控制到1GB的特性。
Windows Server 2003、Windows XP、Windows 2000支持/3GB参数。在Windows Vista及之后的Windows中,使用BCDEdit的IncreaseUserVA 成员(element,查看WMI的BCDEdit说明)。
Windows中默认情况下低2GB空间为用户模式程序保留,而高2GB内存地址空间为内核模式程序保留。可以用这个参数来测试驱动程序在1GB内核空间中的运行情况。
4GT内存调整(4 GT RAM Tuning)被以下系统完全支持:Microsoft Windows NT Server 4.0企业版并包含Service Pack 3;Microsoft Windows 2000 Advanced Server;Microsoft Windows 2000 Datacenter Server;以及所有版本的Windows XP、Windows Server 2003、Windows Vista和之后版本的Windows。
在其他版本Windows NT和Windows 2000中,系统限定了内核使用3GB分界线以上的空间。所以用户模式应用程序最多访问2GB地址空间。
/userva 子参数是为需要介于2GB和3GB用户模式地址空间,特别是运行内存密集型用户模式程序的计算机设计。当不使用 /3GB 参数时,/userva 被跳过。
/3GB和/userva参数只在基于x86或x64处理器上运行的32位Windows系统的引导入口中有效。
用户模式应用程序要获得使用3GB开关的好处,必须用/LARGEADDRESSAWARE 选项链接。
在64位版本Windows Server 2003上,系统不需要/3GB引导参数就自动为以/LARGEADDRESSAWARE 选项链接的应用程序扩展地址空间。在Windows Server 2003 RTM(没有Service Pack 1)上,32位程序最多访问3GB内存地址空间。在包含Service Pack1的Windows 2003上,他们可以访问4 GB虚拟内存空间。原生的64位用户模式程序可以访问最高8 TB的虚拟地址空间。
使用/3GB参数减少系统中内核可使用的地址空间总数 。为了在剩下的1GB虚拟内存中协调所有内核资源,Vista之前的基于NT内核的系统限定物理内存只能在16GB以下,而Windows Vista限定可以在64GB以下。Windows Vista中内存资源的分配是动态的,所以更加灵活和有效,因此系统可以提供更多内存用于地址映射来供应更多物理内存。
下面的表格列出了支持适用4 GB以上物理内存的32位Windows系统在使用和不使用/3GB引导参数的情况下的物理内存限制。
操作系统 | 没有使用/3GB时的物理内存限制 | 使用/3GB时的物理内存限制 |
---|---|---|
Windows Vista | 4 GB | 4 GB (no effect) |
Windows Vista, Datacenter Edition | 128 GB | 64 GB |
Windows Server 2003, Enterprise Edition | 32 GB | 16 GB |
Windows Server 2003, Enterprise Edition SP1 | 64 GB | 16 GB |
Windows Server 2003, Datacenter Edition | 128 GB | 16 GB |
Windows Server 2003, Datacenter Edition SP1 | 128 GB | 16 GB |
Windows XP (all editions) | 4 GB | 4 GB (no effect) |
在Windows XP上,有一些驱动,特别是某些具有板载RAM的显示适配器驱动,不能在/3GB参数下运行,因为他们需要多于1GB的内核地址空间支持。
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB /userva=3030
bootcfg /raw "/3GB /userva=3030" /A /ID 2