Optimizing Exchange Memory Usage
How Exchange 2000 is like your two-year-old.
- By Bill Boswell
- 04/27/2004
Bill: I inherited an Exchange 2000 server and I was curious
on a couple of items. I'm an MCSA and this is my first Exchange box to
administer. Is there a way to set the max memory size like there was in
previous versions of Exchange? Currently, the STORE.EXE process is using
993MB out of 1.5GB of available RAM. I looked into this problem at support.microsoft.com
and couldn't find an answer.
The other question is: What should the performance look like for this
server with only 61 mailboxes. The server runs on a 1.8GHz Pentium 4 with
1.5GB of memory and a 100GB RAID-5 array. Currently, CPU usage is very
low but memory usage sometimes totals 1.42GB. To me this seems very
high. The server is also running DNS, chat and few minor programs.
—Matt
Get
Help from Bill |
Got a Windows or Exchange question or need troubleshooting
help? Or maybe you want a better explanation than provided
in the manuals? Describe your dilemma in an e-mail
to Bill at mailto:[email protected];
the best questions get answered in this column.
When you send your questions, please include your
full first and last name, location, certifications (if
any) with your message. (If you prefer to remain anonymous,
specify this in your message but submit the requested
information for verification purposes.)
|
|
|
Matt: Don't let the high memory utilization of Exchange
concern you. Memory tuning under Exchange happens automatically via Dynamic
Buffer Allocation (DBA). If you've ever raised a toddler, you'll understand
how the DBA lays claim to memory. It follows the "Rules of Two Year-Olds",
which go like this:
- If it's in my hands, it's mine.
- If I like it, it's mine.
- If it looks like mine, it's mine.
- If I can take it away from you, it's mine.
- If I had it a while ago, it's still mine.
- If I'm doing or building something, all the pieces are mine.
- If it's mine, it must never appear to be yours in any way.
Using these rules, the DBA eventually consumes nearly all available RAM.
But if you were to introduce a new application, such as an anti-spam service
or a fax service, then Exchange would cede memory over to that application
over a period of time. See Micrsoft Knowledge Base article 815372,
"How
to Optimize Memory Usage in Exchange Server 2003," for more information
about the DBA and memory handling.
Seeing that you have over 1GB of RAM on the server, it's also important
that you set the /3GB switch in the Boot.ini file. This tells Exchange
to use a different and more efficient method for assigning memory to file
handles (a data structure called a PTE.)
Here's an example Boot.ini file with the switch:
[boot loader]
timeout=1
default=multi(0)disk(0)rdisk(0)partition(3)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)\WINNT="Microsoft Windows 2000
Server"
/fastdetect /3GB
Hope this helps.
About the Author
Contributing Editor Bill Boswell, MCSE, is the principal of Bill Boswell Consulting, Inc. He's the author of Inside Windows Server 2003 and Learning Exchange Server 2003 both from Addison Wesley. Bill is also Redmond magazine's "Windows Insider" columnist and a speaker at MCP Magazine's TechMentor Conferences.