Several tools are useful to troubleshoot virtual memory behaviors; the following is a list of the tools to use:
Note To gather the data, we recommend that you use the tools together to collect corresponding data simultaneously from the server, if this procedure is possible.
- System Monitor logs (also known as Performance Monitor logs)
- Event logs
- System Information file (WINMSD)
- Virtual Address Dump file
- Userdump.exe file
System Monitor Logs
The System Monitor tool that is included with Microsoft Windows 2000 is the administrative tool that replaces the Performance Monitor tool that is included with Microsoft Windows NT 4.0. A general guideline is to use System Monitor to create logs of the server performance when it is operating typically so that you can use these logs as a baseline to compare to the logs generated when the server has problems.
When you use System Monitor to troubleshoot virtual memory issues, it is important to gather performance data for a long enough period of time. This requires that you gather multiple logs over a period of hours or even days. If you save the logs periodically, this procedure makes sure that the size of the logs remains manageable.
There are a number of objects that you can add to the System Monitor log to track the memory usage on the Exchange server. Add all of the counters, for each of the following objects:
System Performance Objects
- Cache
- Database
- Memory
- Objects
- Paging file
- Process
- Processor
- System
- Threads
- PhysicalDisk
Exchange-specific Performance Objects
- MSExchangeIS
NOTE: If you suspect that other Exchange Server components are the cause of virtual memory fragmentation, add the appropriate objects and their counters.
For more information about how to configure System Monitor, click the following article numbers to view the articles in the Microsoft Knowledge Base:
248345
How to create a log using System Monitor in Windows
296073 Monitoring for Exchange 2000 memory fragmentation
Event Logs
The Event Viewer provides the Application logs and System logs. The Event logs capture the activity for the same time period as the System Monitor logs. The Event logs provide a quick reference to activities that are occurring on the server and the Event logs indicate possible errors.
Virtual memory warnings or errors are generally logged in the Application log as an event ID 9582. This event ID can be either a warning or an error.
When the server reaches less than 32 MBs of contiguous virtual address space, the following warning event is logged:
Event Source: MSExchangeIS
Event Category: Performance
Event ID: 9582
Type: Warning
Description: The virtual memory necessary to run your Exchange
server is fragmented in such a way that performance may be affected. It is highly recommended that you restart all Exchange services to correct this issue.
When the server reaches less than 16 MBs of contiguous virtual address space, this same event ID 9582 message is logged, but it is logged as an error message:
Event Source: MSExchangeIS
Event Category: Performance
Event ID: 9582
Type: Error
Description: The virtual memory necessary to run your Exchange server is
fragmented in such a way that normal operation may begin to fail. It is
highly recommended that you restart all Exchange services to correct this
issue.
System Information File
A System Information report provides information about the server's configuration. To generate a System Information file:
- Click Start, click Run, type WINMSD, and then click OK.
- In the System Information window, right-click the System Information object, and then click Save as System Information File.
- Type a file name, and then click Save.
NOTE: The System Information file is saved with an .nfo extension.
Virtual Address Dump Utility
The Virtual Address Dump utility (Vadump.exe) is a utility that creates a report that contains information about the memory usage of a specified process. The list includes:
- Each address and its size, state, protection, and type.
- Total committed memory for the image, the .exe file, and each .dll file, which includes system .dll files.
- Total mapped-committed memory, private-committed memory, and reserved memory.
- Information about the working set and about paged and non-paged pool usage.
To capture information about the memory usage of Exchange Server's Store process, install the Vadump.exe file, and then at a command prompt run the following command:
vadump -v -p storePID >outputfile.txt
NOTE: The "storePID" in the command is the Store process ID. You can locate the process ID in Task Manager.
The Vadump.exe file is included in the Windows Server 2003 Resource Kit. Additionally, this utility is available for download. To download this utility, visit the following Microsoft Web sites.
Windows Server 2003
Userdump.exe Utility
Userdump.exe is a utility that you can use to generate a dump file to capture the state of a process. The information captured can include exceptions, call stack information and thread activity. To use Userdump.exe to troubleshoot Exchange Server virtual memory issues, run the Userdump.exe file when the symptoms cause adverse effects on the server's performance or when the server does not respond.
NOTE: Running Userdump.exe does not end the Store process. However, it can provide data that is very useful to determine the root cause of an issue.
To generate the dump file of the Exchange Server's Store process, install Userdump.exe, and then at a command prompt run the following command:
userdump storePID
NOTE: The "storePID" in this command is the Store process ID. You can locate the process ID in Task Manager. The dump file that results is located in the folder in which the command is run and is named Store.dmp. Make sure that the drive where the Store.dmp file is to be generated contains available space that is equal to, or larger than the memory installed on the server.
UserDump and its documentation are part of the OEM Support Tools package. A copy may be obtained at following Microsoft Web site:
For more information about the use of Userdump.exe, click the following article numbers to view the articles in the Microsoft Knowledge Base:
241215
How to use the Userdump.exe tool to create a dump file
250509 How to use Userdump.exe to capture the state of the information store