The /3GB Switch
By default, Windows can address a total of 4 gigabytes (GB) of
virtual address space. By default, 2 GB of this is reserved for the kernel
(operating system), and 2 GB is reserved for User mode programs such as
Exchange.
When you put a
/3GB switch into the Boot.ini file of the operating system, you
reallocate the virtual address space distribution to give User mode programs 3
GB of space and limit the kernel to 1 GB. The
/3GB switch is only required on computers that contain mailbox stores
or public folder stores. This switch is not recommended on computers that do
not have mailbox stores or public folder stores.
Important Only use the
/3GB switch with the following operating systems:
- Microsoft Windows Server 2003 Datacenter Edition
- Microsoft Windows Server 2003 Enterprise Edition
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Datacenter Server
- Microsoft Windows NT 4.0 Enterprise Server
Caution We support the use of the
/3GB switch in Microsoft Windows Server 2003 Standard Edition in a production environment for use by Active Directory. Microsoft Exchange Server 2003 is supported in a production environment when you use this functionality. Otherwise, the
/3GB switch in Windows Server 2003 Standard Edition is only for development and testing purposes.
Do not use the
/3GB switch with the following operating systems:
- Microsoft Windows 2000 Server
- Microsoft Windows NT 4.0 Server
Windows 2000 Server and Windows NT 4.0 Server can only
allocate 2 GB to User mode programs. If you use the
/3GB switch with Windows 2000 Server or Windows NT 4.0 Server, you
have 1 GB for kernel and 2 GB for User mode programs, so you lose 1 GB of
address space.
Exchange on a Windows 2000 Server-Based Computer
The 2GB virtual memory address limit for User mode programs can
contribute to several issues in Exchange when you have more than 1 GB of
physical memory installed in your computer.
Exchange calculates the
memory that is allocated to database buffers based on the amount of physical
memory. Physical memory above 1 GB can cause a disproportionate amount of the 2
GB of virtual memory to be allocated to database buffers. This may cause
virtual memory fragmentation problems, performance issues, or "out of memory"
issues.
To work around this issue, use one or more of the following
methods:
Reduce the Jet DBA Size
You might be able to reclaim some memory by reducing the JET DBA
size.
For more information
about how to reduce the JET DBA size, click the following article number to view the article in the Microsoft Knowledge Base:
266768
How to modify the Store Database maximum cache size in Exchange 2000 Server
Reduce the Number of maxOpenTables in JET
You might be able to reclaim some memory by reducing the number
of maxOpenTables in JET.
Set msExchESEParamMaxOpenTables on each
storage group object to a lower value. The default for an 8 proc in Service
Pack 2 (SP2) is 85,000. This is reduced to 27,600 in Service Pack 3 (SP3) for
8-procs. The 4-procs number is half of this value.
Note If you continue to experience memory problems, remove some RAM
from your server to reduce it to 1GB or less. This helps you to confirm that
the situation that is described in this article is causing the issue.
Exchange on a Windows 2000 Advanced Server-Based Computer
When a Windows 2000 Advanced Server-based computer has more than
1 GB of physical RAM, use the
/3GB switch in the Boot.ini file to give User mode programs such as
Exchange to have access to 3 GB of virtual address space.
For more information this
issue, click the following article number to view the article in the Microsoft Knowledge Base:
266096
Exchange 2000 requires /3GB switch with more than 1 gigabyte of physical RAM
Exchange on a Windows 2000 Datacenter Server-Based Computer
Use the
/3GB switch with more than 1 GB of physical RAM on a Windows 2000
Datacenter Server-based computer. Exchange requires Service Pack 1 (SP1) to be
supported on Windows 2000 Datacenter Server.
The /PAE Switch
Physical Address Extension (PAE) is a feature of Windows 2000
Datacenter Server and Windows 2000 Advanced Server that makes it possible for
programs that were written for this API to use memory above 4 GB. Although
there are programs such as Microsoft SQL Server 2000 that were written to take
advantage of this API, Exchange 2000 Server is not compatible with it. Because
of this, Exchange only addresses 3 GB if you use the
/3GB switch.
Troubleshooting
Problems that are related to the issues that are described in
this article typically become evident as performance problems. To troubleshoot
these problems, use the Performance Monitor tool.
You can also use
the Virtual Address Dump utility (VADUMP) to troubleshoot problems like this.
For more information
about the VADUMP tool, click the following article number to view the article in the Microsoft Knowledge Base:
317411
How to gather data to troubleshoot Exchange virtual memory issues
Additional Information
For more information about the issues that are described in this
article, click the following article numbers to view the articles in the Microsoft Knowledge Base:
291988
A description of the 4 GB RAM Tuning feature and the Physical Address Extension parameter
300573 Exchange 2000 Enterprise Server support on Windows 2000 Datacenter Server
266096 Exchange 2000 requires /3GB switch with more than 1 gigabyte of physical RAM
298064 Scalability planning for Exchange 2000 Server
266650 Information about BackOffice program support on Windows 2000 Datacenter Server-based computers
317411 How to gather data to troubleshoot Exchange virtual memory issues
266768 How to modify the Store Database maximum cache size in Exchange 2000 Server
823440 Use of the /3GB switch in Exchange Server 2003 on a Windows Server 2003-based system