On 32-bit versions of Windows, the /3GB parameter enables 4 GT RAM Tuning, a feature that enlarges the user-mode virtual address space to 3 GB and restricts the kernel-mode components to the remaining 1 GB.

    /3GB [ /userva=SizeInMB ] 




Specifies an alternate amount of user-mode virtual address space for operating systems booted with the /3GB parameter.


Specifies the amount of memory, in megabytes, for user-mode virtual address space. This variable can have any value between 2048 (2 GB) and 3072 (3 GB) megabytes in decimal notation. Windows uses the remaining address space (4 GB minus the specified amount) as its kernel-mode address space.


The /3GB parameter is supported on Windows Server 2003, Windows XP, and Windows 2000. On Windows Vista and later versions of Windows, use the IncreaseUserVA element in BCDEdit.

On Windows, by default, the lower 2 GB are reserved for user-mode programs and the upper 2 GB are reserved for kernel-mode programs. You can use this parameter to test the performance of your driver when it is running in a 1 GB kernel.

The 4 GT RAM Tuning feature is fully functional on Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Datacenter Server, and all editions of Windows XP, Windows Server 2003, Windows Vista, and later versions of Windows. See 4-Gigabyte Tuning (Windows) for additional information about this feature.

On other versions of Windows 2000, this feature restricts the kernel to addresses above the 3 GB boundary. However, user-mode applications cannot access more than 2 GB of address space.

The /userva subparameter is designed for computers that need more than 2 GB but less than 3 GB of user-mode address space, particularly those that are running memory-intensive user-mode programs. When used without the /3GB parameter, /userva is ignored.

The /3GB and /userva parameters are valid only on boot entries for 32-bit versions of Windows on computers with x86 or x64-based processors.

To take advantage of the 3 GB available to user-mode programs, the program must be linked with the /LARGEADDRESSAWARE option.

On 64-bit versions of Windows Server 2003, the system automatically expands the virtual address space available to 32-bit user-mode programs linked with the /LARGEADDRESSAWARE option as needed without the /3GB boot parameter. On Windows Server 2003 RTM (without Service Pack 1), these 32-bit programs can access up to 3 GB of virtual address space. On Windows Server 2003 with Service Pack 1, they can access up to 4 GB of virtual address space. Native 64-bit user-mode programs can access up to 8 TB of virtual address space.

Booting with the /3GB parameter decreases the amount of kernel virtual address space on the system. In order to fit all of the kernel resources within the remaining 1 GB of virtual memory, NT-based Windows operating systems prior to Windows Vista restrict physical memory to frames below the 16 GB physical boundary. Windows Vista and later versions of Windows restrict physical memory to frames below the 64 GB boundary. Because allocation of memory resources in Windows Vista and later is dynamic and, therefore, more adaptable and efficient, the system can devote more memory space to addressing, thereby accommodating more physical memory.

The following table lists the physical memory limits of 32-bit Windows operating systems that support the use of more than 4 GB of physical memory with and without the /3GB boot parameter.

Operating systemPhysical memory limit without /3GBPhysical memory limit with /3GB

Windows Vista

4 GB

4 GB (no effect)

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 (all editions)

4 GB

4 GB (no effect)


On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits.


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 Commands

bootcfg /raw "/3GB" /A /ID 1
bootcfg /raw "/3GB /userva=3030" /A /ID 2



Send comments about this topic to Microsoft

© 2015 Microsoft