Gerod Serafin's WebLog

Helping to keep large organizations' e-mail running

August, 2004

  • Current Recommendations for Memory Optimization in Exchange 2003

    Q:  What are the current recommendations for memory optimizations in Exchange 2003?

    A:  The article 815372 “How to Optimize Memory Usage in Exchange Server 2003” mentions the current recommendations.  There you will find information about the /3GB switch as well as the /USERVA switch.   What you may not have been aware about is the recommended change in the registry having to do with the HeapDeCommitFreeBlockThreshold.  The recommended value to use for HeapDeCommitFreeBlockThreshold is 0x00040000 (in hexadecimal format). For additional information, click the following article number to view the article in the Microsoft Knowledge Base: 315407 “XADM: The 'HeapDecommitFreeBlockThreshold' Registry Key“.

    You may have noticed that the Registry key name is mentioned as either HeapDeCommitFreeBlockThreshold or HeapDecommitFreeBlockThreshold (case difference) in some articles.  While some Registry key values are case sensitive, Registry key names are not, so either should work for you.

     

    UPDATE:  Changed a broken link to 315407.

  • Exchange 5.5 and the "Match Max Open Tables" Registry Key

    OK, if you are an Exchange Administrator you probably are trying to keep your hotfixes up to date, right?  The most recent version of Store.exe is probably 5.5.2658.16 which is mentioned in 841639 Delegate recipient receives two update messages when a meeting request.  I am not recommending that you install this fix however, unless you are experiencing the issue.  Most of you are probably on version 5.5.2658.4 which is part of the 841765 May 2004 Update Rollup for Exchange Server 5.5

    So, some of our customers are seeing the following errors in their event logs:

    Event ID: 1101
    Source: MSExchangeIS Private
    Type: Error
    Description: Error 0xfffffbd3 occurred on message (some number) during a background cleanup

    Event ID: 160
    Source: ESE97
    Type: Warning
    Description:  MSExchangeIS (Store.exe PID) Background clean-up skipped pages. Database may benefit from online or offline defragmentation.

    So, we do a quick search of the KBs and look to see if there is anything that mentions these event IDs (1102 and 160) and find the article 293836 Information Store performance degradation caused by excessive scanning.  Looking at the article we see that the Store.exe version of that fix is 5.5.2654.89.  Hmmm... Well since we have a newer version of Store.exe, we shouldn't be seeing this then, should we? 

    Looking deeper in the article we see the following paragraph:

    To resolve this problem in Exchange Server 5.5, the Preferred Max Open Tables value must be set equal to the Max Open Tables value when the Information Store service starts. To do this, the Match Max Open Tables registry key is added in this fix. If this key is present and set to any value other than zero, the information store automatically sets the Preferred Max Open Tables value equal to the Max Open Tables value.

    This can give the reader the idea that the registry key has been added and all is set.  But, if you look for the registry key at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem you will not find it there.  The hotfix enables the key to be used to fix the issue, but it doesn't put the key in there.

    So, in an effort to be proactive and prevent this issue from occurring in the future, can you push this key out across all of your organization's Exchange servers?  Yes, you can.  There will be no harm in doing that.  In fact, I would recommend it.

    If you just want to create a .reg file and add it to your servers, just add the content below to a text file renamed with a .reg extension.

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem]
    "Match Max Open Tables"=dword:00000001

  • New Hotfix for Store Crashes - Exchange 2003 Post SP1

    According to an article released today, after you install Exchange 2003 SP1 you may experience a crash in your Information Store because of malformed email messages.  Should this prevent you from installing SP1?  No.  But you will want to install this fix (after testing this in your test environment) to prevent crashes.  The official Microsoft response is in the article: "Only apply it to systems that are experiencing this specific problem."  But, in an effort to be "Honest and Respectful", no one wants to experience a crash (especially the Information Store), right?  Let me say one more time that you should thoroughly test this hotfix before installing this in your production environment.

    This hotfix is not available for download without calling Product Support Services (PSS) for the hotfix and does require a restart of the Information Store.

    872963 Information Store crashes periodically after you install Exchange Server 2003 SP1
    http://support.microsoft.com/?id=872963

  • What do “Latency” and “RPC Calls Succeeded” mean in the ESM?

    I was on a much needed vacation, so I have not been active on here.  I went to Seattle of all places...  Anyways - Something that you might find interesting.

     

    Q:  What do the “Latency” and “RPC Calls Succeeded” mean in the Exchange 2003 ESM?  To see this choose a mailbox store -> Logons -> View -> Add/Remove Columns.

     

    A:  These calls are derived from the Client-side data reported by Outlook 2003 if enabled (see my previous post for more information on this).  Exchange aggregates this information per LOGON and the Outlook client will aggregate this per connection.  So, if you disconnected from the network, Outlook would include all information from multiple networks, but Exchange would only contain the average of this LOGON.  The ESM measures this latency on Milliseconds and includes the network latency as well as any server processing latency.  With a good LAN and a healthy server this should average less than 100 msecs.  This can be much larger when a client is connecting over large network distances.

     

    “RPC Calls Succeeded” is just the raw count of of RPC calls that LOGON has recorded.

     

    (Thanks to Chris Mitchell of the Exchange Performance Team for providing this information.)