Part of Exchange 2007s performance benefits come from being able to use more memory. For servers with thousands of users this is a good thing. For servers with smaller numbers of users that need to perform other duties as well this can be a very bad thing...
The reason being is that store.exe will take as much memory as it can get, and will not return it. Over time store.exe will take most of the memory in the machine, to the detriment of other processes running on the machine.
Where this shows up first is usually running out of memory during a backup.
You can however impose limits on store.exe.
To do this you have to use ADSIEdit from the 2003 support tools. You will then need to edit the following entry in the Configuration container:
Configuration->Services->Microsoft Exchange->(ORGANIZATION NAME)->Administrative Groups->Exchange Administrative Group->Servers->(SERVER NAME)->Information Store
You replace (ORGANIZATION NAME) and (SERVER NAME) with the appropriate values for your environment.
Then right click on CN=Information Store and choose 'Properties'. Select the msExchESEParamCacheSizeMax entry and set the size.
The size is determined by the number here - which represents the number of 8KB (8192) pages to allocate.
This needs to be set to an exact multiple of 8192. For example, 147456 would give 1.2GB, 229376 would give 1.8GB and 311296 would give 2.4GB.
Allow time for AD to replicate and restart the Information Store to pick up the new value.
Lairds Computer Services