Beat spammers with anti-spam software for Exchange
Server – GFI MailEssentials. Download FREE
trial
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 =3030
on an Exchange Server 2003
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.
Guy 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 product for free, as part of their commitment to
supporting the network management community.
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.
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)
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS= "Windows Server 2003" /fastdetect
After appending /3GB / USERVA = 3030 (All one line)
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS= "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.
Remember to remove the read only attribute from boot.ini before you edit this file with notepad.
Exchange Server 2007 is a complex topic, do you need practical hands on training? As an MCT trainer, I can thoroughly recommend
TrainSignal. In particular, I like the way
that TrainSignal cover all learning methods, instructor lead, video and of course text
material. You can either take one module, for example Exchange 2007 or go for a combination of modules.
Learn more about Microsoft Exchange Server 2007 here
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.
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.
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.
Learn how to find settings in the Exchange System Manager. Advice configuring your Exchange Server. Tips on how to get the most from your Exchange 2003 server.
Over 50 printer friendly pages Word and PDF format