달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

I see a lot of memory related Exchange Server 2007 questions in the Exchange 2007 forum on the MSExchange.org boards, so this month my plan was to talk about what has changed in regards to memory utilization in Exchange Server 2007 compared to previous versions of Exchange Server. As most of you remember, because Exchange Server 2003 was based on 32-bit architecture, this version of Exchange Server was limited to using a maximum of 4GB of memory. Because Exchange Server 2007 is based on 64-bit architecture, this limitation is no longer there. In fact Exchange Server 2007 has much better memory utilization than Exchange Server 2003 had, and is capable of using 32 GB of memory and more. Personally, I have deployed Exchange 2007 Mailbox servers with 16 GB of memory installed, and I have seen Store.exe processes grow as large as to approximately 14 GB in size!
These memory utilization changes are excellent for large enterprise IT organizations, but several of the smaller organizations with a relatively small amount of mailbox-enabled users (between 10-30) and an Exchange 2007 Mailbox server with let us say 4 GB of memory often seem to experience problems with excessive memory utilization. Several Exchange administrators report that their Exchange 2007 Mailbox server uses more memory than the amount of physical memory installed in the server. This means that the server can become sluggish and unresponsive.
With Exchange Server 2003, the store process was bound to a certain memory cache limit. The upper bounds of this limit were typically set at around 900MB. With Exchange Server 2007 which uses 64-bit architecture, the limit on database cache size is no longer present. Currently, the default minimum cache size for Exchange 2007 is 512MB (for machines with at least 2GB RAM), and there is no maximum value set, which means that ESE (store.exe) will grow the cache to consume almost all available RAM on the server if there is no other memory pressure on the system. A larger database cache size typically results in greatly reduced disk I/O as reading information from memory is much faster than reading information from disk. If memory pressure occurs, that is other applications request/require memory, ESE will appropriately shrink the size of the database cache automatically.
Okay, I hear you say, that was a good explanation, but unfortunately this is not the behavior I experience in my environment. So, what can I do if my Exchange 2007 server is sluggish and unresponsive? Although generally not recommended by Microsoft, there is one thing you can do. You can set a limit on the ESE database memory cache. This is done by following the below steps:

Warning!
Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your Operating System. Neither MSExchange.org nor Microsoft can guarantee that these problems can be solved. Modify the registry at your own risk!


· Start ADSI Edit by clicking Start > Run and typing ADSIEDIT.MSC
· Open the following object: Configuration > Services > Microsoft Exchange > Exchange organization > AdministrativeGroups > Your administrative group > Servers > Server name > Information Store
· Right-click the Information Store, and then click Properties.
· Under the list of Attributes, scroll down and select msExchESEParamCacheSizeMax

사용자 삽입 이미지


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.

:
Posted by 커널64