有很多人問到關于Exchange 2007 Server 伺服器的記憶體使用問題。
首先它和Exchange 2003 是有很大差别的,Exchange 2003是32位架構設計,是以記憶體最大使用限制是4GB.而Exchange 2007是64位的,對記憶體的使用将不再有限制,甚至可以高達32GB甚至更高.我自己在測試環境中甚至發現 Store.exe這個程序對記憶體的占有率甚至高達90%,這是個正常現象,如果你剛好遇到,不用但是是不是出了什麼問題。
在Exchange 2003裡,存儲程序Store.exe 處理資料庫緩存是有上限的,一般在900MB,但是在Exchange2007裡,資料庫緩存将沒有限制,最小是512M,上不封頂,也就是說記憶體有多大,緩存就擴充到多大,你會發現如果沒有其他應用程式使用記憶體的話,Store.exe這個程序甚至消耗掉96%的記憶體,這樣的目的就是要降低資料庫對磁盤的I/O通路,提高性能和響應時間。當發現有其他應用程式需要一定的記憶體時,Store.exe這個程序會自動的縮小資料庫緩存來釋放一部分的記憶體空間出來以供使用。
當然我們也可以設定資料庫緩存大小來控制其對記憶體的無限制的占有,方法如下:
How to modify the default database cache size:
To modify msExchESEParamCacheSizeMax:
1. Start ADSI Edit.
2. Open the following object:
Configuration/Services/Microsoft Exchange/Your organization/Administrative
Groups/Your administrative group/Servers/Server name/Information Store
3. Right-click Information Store, and then click Properties.
4. Under the list of Attributes, scroll down and select msExchESEParamCacheSizeMax.
5. Click the Edit button, then type the number of 8 kilobyte (KB) pages that you
want to set the maximum cache size to.
For example. 1GB cache equates to 1048576 (1024 * 1024). Divide the cache that you
want to set by 8kb to determine the value to enter. In this case, 1048576 divided
by 8 is 131072.
If you wanted to set the cache size to 16GB, the value would be 2097152 (16777216
divided by 8).
Note
======
The msExchESEParamCacheSizeMax parameter controls the ESE buffer size. Its
value is expressed as a page count, and must be set to an exact multiple of 8192
for maximum efficiency. If this value is not met, the cache size is rounded up to
the next 32-MB boundary when virtual memory is allocated. If this value is
incorrectly set, memory may be wasted.
6. Quit ADSI Edit, and then restart the Microsoft Exchange Information Store service.
不過,這樣做可能會影響郵件伺服器的性能,不建議大家這樣做。
