Microsoft Exchange Server /3GB and USERVA = 3030

Introduction to Microsoft Exchange Server 2003  
/3GB and USERVA = 3030

On this page I have three examples of how you can improve the performance of your Exchange Server 2003.  If your server has more than 1GB of physical RAM, then you really should amend your boot.ini file.  Adding the /3GB switch to boot.ini is a ‘cost nothing’ idea that will result in a faster response for your Exchange email clients.

Topics for /3GB and USERVA =3030on an Exchange Server 2003


/3GB Switch in Boot.ini

Appending the /3GB switch to your boot.ini is a simple practical task that makes more physical and virtual memory available to Exchange 2003.  In particular, this switch will increase the memory allocation for Store.exe. The way that /3GB improves performance is two fold, firstly, by increasing the available virtual memory, (I emphasise virtual memory) from 2GB -> 3GB; secondly by upping the physical memory allocation from 576 to 896 MB.

Incidentally, you can check how Store.exe consumes memory by creating a Performance log for your Microsoft Exchange Server, or by a quick check of Task Manager.  (Ctrl Shift Esc)

You may remember from some distant theory lesson, that the Windows operating system has 4GB of virtual memory.  Normally this virtual memory is split 2GB : 2GB between the operating system and the programs (user mode), what the /3GB switch does is allocate more memory for user processes and less for the operating system.  Exchange 2003’s Store.exe is the main beneficiary of this extra user mode memory.

N.B. It is best to append a new line to your boot.ini, that way if the /3GB instruction not work, then you can revert to the previous configuration.  Thanks to Adam Q for suggesting this addition.

Exchange Monitor from SolarWindsGuy Recommends: The SolarWinds Exchange Monitor

Here is a free tool to monitor your Exchange Server.  Download and install the utility, then inspect your mail queues, monitor the Exchange server’s memory, confirm there is enough disk space and check the CPU utilization.

This is the real deal – there is no catch.  SolarWinds provides this fully-functioning freebie, as part of their commitment to supporting the network management community.

Free Download of SolarWinds Exchange Monitor

/USERVA= 3030

Even if you have already added the /3GB setting to your Exchange 2003 Server, I still recommend appending the /USERVA=3030 switch to your boot.ini.  3030 refers to 3,030 MB of memory allocated to each process.  Without /USERVA, the plain /3GB switch would allocate 3,072 MB of memory.

It is easy to lose track of the numbers here, compared with 3,072, a 42 MB difference does not sound very much, but 42 MB is actually a very big number at it results in a big improvement to the Kernel memory space PTE (Page Table Entries).  In a nutshell, the Windows Server 2003 operating system make efficient use of the extra 42 MB, and that in turn, improves the performance of the Exchange 2003 server.

Editing Boot.ini on the Exchange Server2003

Here is an example of what to append in your server’s boot.ini.  Just add : 
/3GB /USERVA=3030 to your existing boot.ini command.

Before adding the switch (All one line)

"Windows Server 2003" /fastdetect

After appending /3GB / USERVA = 3030 (All one line)

"Windows Server 2003" /fastdetect /3GB /USERVA=3030

(I say again, the above command should be all on one line in Boot.ini).

Important: The above example was taken from my Windows Server 2003 machine to illustrate the /3GB switch.  My point is do not alter the rdisk() or partition() values on your Exchange 2003 server otherwise it will not reboot.

Footnote: Recommendation from Richard Blunden:
The /3GB userva=3030 is a good addition to the Global Catalogue servers, but not so useful for an Exchange Server.

/3gb userva=3030 boot.ini tip.  Remember to remove the read only attribute from boot.ini before you edit this file with notepad.

Guy Recommends:  A Free Trial of the Network Performance Monitor (NPM)Review of Orion NPM v11.5 v11.5

SolarWinds’ Network Performance Monitor will help you discover what’s happening on your network.  This utility will also guide you through troubleshooting; the dashboard will indicate whether the root cause is a broken link, faulty equipment or resource overload.

What I like best is the way NPM suggests solutions to network problems.  Its also has the ability to monitor the health of individual VMware virtual machines.  If you are interested in troubleshooting, and creating network maps, then I recommend that you try NPM now.

Download a free trial of SolarWinds’ Network Performance Monitor


Changing HeapDeCommitFreeBlockThreshold setting does not specifically help Exchange 2003; it’s more that it helps the server run more efficiently, especially if the server runs other programs.

Time for a little background information. A heap is a reserved area of memory. Exchange 2003 is very reluctant to free up its heaps. However, if you set this HeapDeCommitFreeBlockThreshold key in the registry it forces the Heap Manager to free up memory. This is how the logic works, if there is a small heap then Exchange should keep the memory, however once the free memory area reaches a threshold, then the heap manager takes the free area away from Exchange’s Store.exe and makes it available to other processes.

Here is the registry key to alter.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager HeapDeCommitFreeBlockThreshold = REG_DWORD 0x00040000

N.B. 0x00040000 is a Hex number (262144 in Decimal)

Compatibility – Which Exchange versions support the /3GB?

One more point, before you apply the /3GB switch, check the Windows and Microsoft Exchange combinations.  In fact one reader, Eric R, has already corrected me on this compatibility jungle.  So, double check the version and edition of both Windows and Exchange before you change boot.ini’s /3GB switch.

The best combination, as ever, is Exchange 2003 on Windows 2003.  (/3GB works a treat).

Exchange 2003 would be O.K on a Windows 2000 Advanced server.

Avoid this /3GB switch on standard or small business editions of Windows 2000.

There is no need to use this /3GB switch on front-end Exchange 2003 servers.  The reason being front-end servers do not have any Mailbox stores as these are on the back-end servers.  Remember it’s the mailbox store that has the most to gain from the extra memory allocation.

Kiwe CatTools - Free downloadGuy’s Challenge – Download this free device backup utility


Kiwi CatTools is a free program for backing up configuration settings on hardware devices.  Here is Guy’s challenge.  If you download CatTools, then it will not only take care of backups, but also it will show you something new about the hardware on you network. I could give you a money back guarantee – but CatTools is already free!  Thus, I just make a techie to techie challenge, you will learn more about your network if you:

Download your free Kiwi CatTools configuration backup tools

Summary of /3GB and USERVA = 3030 on a Microsoft Exchange Server

Normally there is not that much you can configure to improve Exchange Server 2003’s built-in memory management.  However, if you have more than 1GB of physical RAM then add two extra switches to boot.ini.  /3GB and USERVA = 3030.  If you think Exchange 2003 is holding on to memory that could be better allocated to other processes, then set the threshold for: HeapDeCommitFreeBlockThreshold.

If you like this page then please share it with your friends


See Also