Thursday, June 4, 2009

Virtual Memory Fragmentation Exchange

Virtual Memory:
Virtual Memory is nothing but making your hard disk acts as a temp space for swapping the data from the RAM when it is busy or fully occupied. The Process of exchanging/swapping the data back and forth from hard disk and RAM is called Thrashing. The area of the hard disk which stores the RAM data is called Page files, have a .SWP extensions.

In exchange server too allocations of the virtual memory plays a vital role for the efficient functioning of the exchange server. If the virtual memory allocation is not up to the mark, which results in hitting the performance of the exchange server in greater extend.

The below are the way to optimize the virtual memory related issues.

1. Adding the /3GB switch in the boot.ini file.
2. Adding the /userva= where Number value ranges b/w 2970 and 3030. The recommended value is 3030

Eg., boot.ini file

[boot loader]
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /fastdetect /3GB
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003" /fastdetect /userva=3030

The above option can be used only in pre windows server 2003 versions alone. In windows 2000, they have the below option for fine tuning the virtual memory.

1. Edit the "HeapDecommitFreeBlockThreshold" Registry key.
2. Set the “msExchESEParamCacheSizeMax” value via ADSIEDIT.
3. Also the value “msExchESEParamMaxOpenTables” value has to be set appropraitly via ADSIEDIT.
Please let us know if you have any questions.