在 32 位版本的 Windows 上,/3GB 参数启用 4 GT RAM 调节,该功能将用户模式虚拟地址空间放大到 3 GB 并将内核模式组建限制在剩余的 1 GB。
/3GB [ /userva=SizeInMB ]
子参数
-
/userva
-
为使用 /3GB 参数启动的操作系统的用户模式虚拟地址空间指定备用量。
SizeInMB
-
指定用户模式虚拟地址空间的内存量,以 MB 为单位。此变量采用十进制表示法,可以具有 2048 MB (2 GB) 到 3072 MB (3 GB) 之间的任何值。Windows 使用剩余的地址空间(4 GB 减去指定的量)作为其内核模式地址空间。
备注
/3GB 参数在 Windows Server 2003、Windows XP 和 Windows 2000 上受支持。在 Windows Vista 和更高版本的 Windows 上,可以在 BCDEdit 中使用 IncreaseUserVA 元素。
在 Windows 上,默认情况下,较低的 2 GB 是为用户模式程序保留的,较高的 2 GB 是为内核模式程序保留的。你可以使用此参数来测试在 1 GB 内核中运行的驱动程序的性能。
4 GT RAM 调节功能在以下操作系统中能够完全正常工作:Microsoft Windows 2000 Advanced Server、Microsoft Windows 2000 Datacenter Server,以及所有版本的 Windows XP、Windows Server 2003、Windows Vista 和更高版本的 Windows。有关此功能的附加信息,请参阅 4 GB 调节:BCDEdit 和 Boot.ini。
在其他版本的 Windows 2000 上,此功能将内核限制在大于 3 GB 边界的地址。但是,用户模式应用程序不能访问 2 GB 以上的地址空间。
/userva 子参数是为需要 2 GB 到 3 GB 用户模式地址空间的计算机(特别是那些运行内存密集型用户模式程序的计算机)设计的。不带 /3GB 参数的 /userva 将被忽略。
/3GB 和 /userva 参数仅对于具有基于 x86 或 x64 的处理器的计算机上所运行的 32 位 Windows 版本的启动项有效。
为了利用可供用户模式程序使用的 3 GB,该程序必须用 /LARGEADDRESSAWARE 选项进行链接。
在 64 位版本的 Windows Server 2003 上,系统会根据需要自动扩展可供用 /LARGEADDRESSAWARE 选项进行链接的 32 位用户模式程序使用的虚拟地址空间,而不使用 /3GB 启动参数。在不带 Service Pack 1 的 Windows Server 2003 RTM 上,这些 32 位程序最多可以访问 3 GB 虚拟地址空间。在带有 Service Pack 1 的 Windows Server 2003 上,这些 32 位程序最多可以访问 4 GB 虚拟地址空间。本地 64 位用户模式程序最多可以访问 8 TB 虚拟地址空间。
用 /3GB 参数进行启动会减少系统上的内核虚拟地址空间量。为了使所有的内核资源适合剩余的 1 GB 虚拟内存,Windows Vista 之前的基于 NT 的 Windows 操作系统会将物理内存限制在低于 16 GB 物理边界的帧。Windows Vista 和更高版本的 Windows 将物理内存限制在低于 64 GB 边界的帧。由于 Windows Vista 和更高版本以动态方式分配内存资源,因此,适应性和效率越高,系统可以提供的寻址内存空间越多,从而能够容纳更多的物理内存。
下表列出了在带有和不带 /3GB 启动参数的情况下,支持使用 4 GB 以上物理内存的 32 位操作系统的物理内存限制。
操作系统 | 不带 /3GB 时的物理内存限制 | 带有 /3GB 时的物理内存限制 |
---|---|---|
Windows Vista | 4 GB | 4 GB(无影响) |
Windows Server 2008 Enterprise | 64 GB | 64 GB |
Windows Server 2008 Datacenter Edition | 64 GB | 64 GB |
Windows Server 2003 Enterprise Edition | 64 GB | 16 GB |
Windows Server 2003 Datacenter Edition | 64 GB | 16 GB |
Windows XP(所有版本) | 4 GB | 4 GB(无影响) |
在 Windows XP 上,某些驱动程序(特别是具有板上 RAM 的视频适配器驱动程序)不能使用 /3GB 参数运行,因为它们需要的地址空间比 1 GB 内核地址空间允许的空间多。
示例
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /3GB /userva=3030
Bootcfg 命令
bootcfg /raw "/3GB" /A /ID 1
bootcfg /raw "/3GB /userva=3030" /A /ID 2