This article was previously published under Q328466
If a Microsoft Exchange 2000 Server or Microsoft Exchange Server 2003 Information Store service appears to stop responding (hang), you can use either the Adplus or the Userdump command-line utility to create a User.dmp file. For example, you can use the adplus command with the following syntax:
adplus.vbs -pn store.exe -hang
When you are debugging the User.dmp file in the store, if there are many threads that are similar to the following data, the JET log buffers value may be set to a value that is too low:
The JET threads that are in this "Delay Execution" state are in a tight while loop that repeatedly sleeps every 1 millisecond as long as the "errLGNotSynchronous" error condition is true.
Extensible Storage Engine (ESE) uses a set of log buffers to hold information in memory before it writes to the transaction logs. For large servers that are running Exchange 2000 Service Pack 1 (SP1) or Exchange 2000 Service Pack 2 (SP2), the default value of 84 is too low. This can cause excessive disk I/Os to the transaction log drive. You will see a significant decrease in performance if the server is under load or if users are sending large messages.
The Performance Monitor counter Database (Information Store Instance)\Log Record Stalls/sec indicates the number of log records that cannot be added to the log buffers per second because the log buffers are full. If either of the following results is true for Log Record Stalls/sec, you may have to configure the log buffers setting:
Average value is more than 10 per second.
Spikes (maximum values) are higher than 100 per second.
To correctly set the msExchESEParamLogBuffers value, use the following information:
For Exchange 2000 Server, Exchange 2000 Server Service Pack 1 (SP1), or Exchange 2000 Server Service Pack 2 (SP2), set this value to 9000.
For Exchange 2000 Server Service Pack 3 (SP3), set this value to 512.
For Exchange Server 2003, a default value of 500 is used. Additionally, you should change the value for the msExchESEParamLogBuffers attribute to 9000.
This parameter is stored in Active Directory for Exchange 2000 and Exchange 2003. Therefore, you must use ADSI Edit to view and change this value. To set the value of msExchESEParamLogBuffers to a higher value, follow these steps.
Warning If you use the ADSI Edit snap-in, the LDP utility, or any other LDAP version 3 client, and you incorrectly modify the attributes of Active Directory objects, you can cause serious problems. These problems may require you to reinstall Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003, or both Windows and Exchange. Microsoft cannot guarantee that problems that occur if you incorrectly modify Active Directory object attributes can be solved. Modify these attributes at your own risk.
Start ADSI Edit.
Double-click the Configuration container, expand CN=Services, expand CN=Microsoft Exchange, and then expand CN=ExchangeOrganizationName.
Expand CN=Administrative Groups, expand CN=AdministrativeGroupName, and then expand CN=Servers.
Expand CN=ExchangeServerName, expand CN=InformationStore, right-click CN=Storage Group Name, and then click Properties.
In the Select a property to view box, click msExchESEParamLogBuffers.
In the Edit Attribute box, set the value to 512 for Exchange 2000 or to 9000 (for example, clear the value) for Exchange 2003.
For computers that are running Exchange 2000 SP3, set this value to 512. For computers that are running Exchange 2000, Exchange 2000 SP1, Exchange 2003, Exchange 2003 SP1, or Exchange 2003 SP2, set this value to 9000.
Click Apply, and then click OK.
You must restart the Microsoft Exchange Information Store service for the change to take effect.
For more information about Exchange 2003 performance troubleshooting, see the Troubleshooting Microsoft Exchange Server 2003 Performance guide. To view this guide, visit the following Microsoft Web site: