Using Exmon
Using Exmon
Monitor
Published: March 2005
Applies To: Exchange Server 2003 SP1, Exchange 2000 Server SP3
Copyright
Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the
example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no
association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may
be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying,
recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document.
Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.
Microsoft, Active Directory, ActiveSync, Outlook, Windows, and Windows Server are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Using Exchange Server User Monitor 1
Introduction
The Microsoft® Exchange User Monitor (ExMon) tool enables administrators to view and evaluate individual
users' usage and experience with Microsoft Exchange Server. With this tool, administrators can gather real-
time data that helps them better understand current client usage patterns and plan for future use.
By using ExMon, administrators can view the following:
ExMon enables administrators to view and analyze how individual users affect the health and performance of
an Exchange server, including CPU usage and network traffic. It also enables administrators to view and
analyze how those individual users' experience is affected by the server.
Note that ExMon does not report all information about server health or user experience. For example, ExMon
does not report on the following factors that can affect Exchange Server 2003 performance:
• Incoming unsolicited commercial e-mail (also known as spam) from the Internet
• Incoming SMTP mail flow from the Internet or from other sites in your organization
• Use of non-MAPI protocols for account access, such as POP3 and IMAP4
• Use of mobile devices, although some Exchange ActiveSync® client traffic is included
ExMon provides an overview of individual users' behavior only. It should be used with other procedures and
tools that are recommended by Microsoft.
Using Exchange Server User Monitor 2
Installation
To collect data, ExMon can be installed on either Exchange 2000 Server SP2 and later versions, or Exchange
Server 2003 SP1 and later versions. You can collect data that is relevant to the Exchange server on which
ExMon is installed.
To view data, you do not need to install ExMon on an Exchange server. If the input file that you want to read
was installed on a Microsoft Windows Server™ 2003 server, you will need to install ExMon on a
Windows Server 2003 server. If the input file was collected on Microsoft Windows® Server 2000, you can use
ExMon that is installed on Windows Server 2003, Windows 2000 Server, or Windows XP to view the data.
To install ExMon, perform the following procedure.
To install ExMon
1. Double-click the Exmon Windows Installer package and follow the installation steps. By default, ExMon
is installed to the \Program Files\Exmon\ folder.
2. In the Command Prompt window, locate the newly created folder.
3. At the command prompt, type exmon.reg. This command creates the registry key for ExMon data
collection.
You must configure Exmon to collect data by one or more of the following methods:
2. To start System Monitor, click Start, click Run, and then type perfmon.msc.
3. In the Performance console, expand Performance Logs and Alerts, and right-click Trace Logs. Select
New Log Settings.
4. Create a descriptive name for the new log.
5. Under Nonsystem Providers, click Add.
6. Select Microsoft Exchange Information Store, and then click OK.
7. Provide credentials to Run As in the form DOMAIN\username. You also must provide a password by
clicking Set Password.
Using Exchange Server User Monitor 4
8. Set other options, such as schedule and logging directory. For help in configuring these options, see
System Monitor Help.
9. Click OK. Data collection will start according to the scheduling options that you have selected.
The following sections describe the three views of data in ExMon and how to view them.
• By User View
• By Version View
• By Clientmon View
Using Exchange Server User Monitor 6
ExMon Syntax
This section provides examples of the exmon command and explanations of the parameters.
exmon.exe
exmon.exe "[Drive:][Path]InputFileName"
exmon.exe /h
exmon.exe /?
exmon.exe [/{SU|SV|SC} "[Drive:][Path]OutputFileName" "[Drive:][Path]InputFileName"
Several factors, such as time of day, usage patterns, server load, server configuration, and server load, can
cause variations in the data that is collected and displayed in ExMon. An administrator can best understand any
data by comparing it with baseline data that is collected during normal operations.
The following sections describe the data that is displayed in some of the data columns and how that data
reflects some of the underlying factors that could influence the overall results. To successfully work with the
ExMon data, you must have a clear understanding of your Exchange deployment.
CPU Time
The data displayed in the CPU Time (ms) column represents the processing time that Store.exe requires to
process all requests. Some operations require more processing than others. For example, sophisticated searches
and large data exports require more processing time than viewing of a single mail item. CPU time is reported
in milliseconds of processing time, which depends on the server hardware. For example, one millisecond of
processing time on a 1000-MHz processor is equal to approximately two milliseconds of processing time on a
500-MHz processor.
Using Exchange Server User Monitor 11
Server Latency
The data displayed in the server latency columns documents the time that is required to process user requests.
This time includes CPU processing time, time waiting for disk I/Os, and time waiting because the server is
busy and is processing other user requests.
Each operation requires a different proportion of processing time and disk I/O time. Overall server latency for
all user requests is reported by the Performance Monitor (Perfmon) count for averaged MSExchangeIS\RPC
latency. ExMon enables you to view this data for individual users.
Individual users' server latencies can vary widely from the average. You can obtain more accurate results by
gathering long traces over more than 30 minutes or even over several hours.
Client Latency
The data displayed in the Avg. Client Latency (ms) column is a superset of the CPU time and the server
latency. Client latency includes not only server latency, but also any network delay that is caused by issues
with the network, packet retransmission, and network bandwidth.
For users who use Outlook without Cached Exchange Mode, high client latency times directly affect how
frequently Outlook is unresponsive. ExMon reports client latency for each request, while Outlook may require
multiple requests to complete an operation. This means that the client latency reported by ExMon provides a
lower bound to the responsiveness that users may experience. Generally, if the minimum client latency is
consistently more than 100 milliseconds, the user experiences poor responsiveness in Outlook in traditional
online mode. An individual client latency over five seconds invokes the Cancelable RPC dialog box in
Outlook 2002 for Office XP.
Improvements in Outlook 2003 with Cached Exchange Mode help hide this latency from the user and enable
site consolidation by moving many important tasks, such as reading and sending mail, to the background.
When a user is using Outlook 2003 Cached Exchange Mode, consistent average client latencies of
500 milliseconds or more can be hidden from the user. With client latencies of more than 1000 milliseconds
and low network bandwidth, users may benefit from Cached Exchange Mode that is configured to download
only mail headers.
Network Bytes
The network bytes columns document the amount of data and control codes that are sent to and from Exchange
Server. This count includes only Exchange-related data and does not include data that is related to TCP/IP
overheads, packet retransmission or packet loss, RPC encryption, RPC over HTTP, or Internet Protocol
security (IPSec). However, it does account for compression that is used by Exchange Server 2003, and
Outlook 2003 and later versions.
Using Exchange Server User Monitor 12
The amount of network traffic depends heavily on the usage profile. The Outlook message formats HTML,
RTF, and plain text all vary widely in size. Also, the number and size of attachments and the time of day
affects the amount of network traffic. To more accurately measure network usage, use longer monitoring
periods.
these servers, although not all the data is available. For example, the Foreground Latency column in the By
Clientmon view requires Exchange Server 2003 SP1. It also requires that users also have Outlook 2003 SP1.
Q: How can I collect data on Exchange that is running on Clustering Services for Microsoft Windows?
A: Tracing ExMon data on Exchange servers that use Cluster Service is difficult because you care about
collecting data for a specific virtual server instead of data from just a physical node. A cluster failover during a
data collection session causes incomplete data. By collecting on shorter intervals, such as five minute intervals,
on every node of the cluster, you can minimize the amount of data that is lost if there is a failover. Both System
Monitor and Tracelog.exe provide functionality to create intervals based on file size instead of time. You can
also write a script to run on cluster failovers, and start and stop the appropriate data collections.
Q: Why doesn't ExMon display data when I have passed in an input file?
A: You may be able to resolve this issue by performing the following tasks:
• Make sure that you put the path and file name in double quotation marks if the path or file name contains a
space.
• ExMon must run on Windows Server 2003 or later versions if the Event Trace Log (.etl) file was collected
on Windows Server 2003 or later versions.
• Verify that the Exmon.reg file was applied before you began collecting data. For instructions on how to
apply the Exmon.reg file, see Installing ExMon earlier in this document.