Windows /3gb Boot.ini Switch

Info & Tags

Article #:
322
Created:
10/28/04
Modified:
03/03/10
Tags:
2gb, 3gb, ntx86, p4d, server, switch, windows

Links

  1. Microsoft TechNet
    How to Set the /3GB Startup Switch in Windows

SUMMARY

Some applications can use (or need to use) the Windows 3GB boot switch.

Does the Perforce Server make use of this Windows boot setting?


DETAILS

Ordinarily, on Windows, 2GB of virtual address space is allocated to programs and a further 2GB to the kernel. It is possible to alter this by adding the "/3gb" switch to the Windows "boot.ini" file. This forces x86-based systems to allocate 3GB of virtual address space to programs and 1 GB to the kernel and executive components.

Use of this switch is limited in various ways.

Firstly, support for this switch is limited to certain versions of the Windows operating system; Microsoft's website states these versions to be:
  • Windows 2000 Advanced Server
  • Windows 2000 Datacenter Server
  • Windows Server 2003 Standard Edition
  • Windows Server 2003 Enterprise Edition
  • Windows Server 2003 Datacenter Edition
Use of this switch on unsupported versions of Windows can cause undesirable results. Microsoft state that "the /3GB switch should not be used on Windows 2000 Server because it is unsupported and can cause application or operating system crashes." In our own internal testing, we have encountered system crashes with this flag set on Windows 2000 Server.

Also, the application binary requires a special link bit to be set to take advantage of this Windows setting. This can be set at link time or by using a Microsoft-provided utility.

Conclusion

Perforce Software does not recommend use of the "/3gb" boot switch, due in no small part to the system crashes that might occur. In addition, we do not ship the Perforce Server executable with this special bit set.