Non-Exchange Process Consuming Greater than 20% Processor Time

[This topic is intended to address a specific issue called out by the Exchange Server Analyzer Tool. You should apply it only to systems that have had the Exchange Server Analyzer Tool run against them and are experiencing that specific issue. The Exchange Server Analyzer Tool, available as a free download, remotely collects configuration data from each server in the topology and automatically analyzes the data. The resulting report details important configuration issues, potential problems, and nondefault product settings. By following these recommendations, you can achieve better performance, scalability, reliability, and uptime. For more information about the tool or to download the latest versions, see "Microsoft Exchange Analyzers" at]  

Topic Last Modified: 2006-02-13

The Microsoft® Exchange Server Analyzer Tool includes a performance data collection engine that is used to query performance counter objects on computers that are running Exchange 2000 Server or Exchange Server 2003. The performance data collection engine collects data from the %Processor Time (_Total) counter of the Processor performance object to analyze performance data.

The Exchange Server Analyzer displays an error if the following conditions are true:

  • There is a processor bottleneck.

  • One or more non-Exchange processes are using greater than 20 percent of the total average server CPU time.

The Exchange Server Analyzer displays a warning if the following conditions are true:

  • There is a processor bottleneck.

  • One or more non-Exchange processes are using greater than 10 percent of the total average server CPU time.

The % Processor Time (_Total) performance counter under the Process performance object provides overall utilization of the processors. The average CPU utilization should always be below 80 percent. Higher averages indicate a processor bottleneck. Frequent spikes in processor time above 90 percent also indicate a processor bottleneck.

Removing Processor Bottlenecks

There are many ways to remove processor bottlenecks from your Exchange server.

  • First, review the applications or tasks that are causing load on the server. Determine whether the application should be using the processor time that it is or if there might be an issue with the process.

  • If a non-Exchange application is not important to that server, run that application on another server. If you can do this, move server roles to other computers also. For example, if the Inetinfo process is using lots of CPU utilization, consider adding front-end servers to assume responsibility for the protocol work that Inetinfo performs. You can also move public folder access to a dedicated public folder server. Finally, if a server performs lots of distribution list expansions, you can reduce CPU utilization by moving distribution list expansion to a dedicated distribution-list expansion server.

  • If you can do this, add more or faster processors to the server. Also, enable hyper-threading if it is supported by the processors. You can enable hyper-threading by configuring the system BIOS. For more information, see the computer manufacturer's Help documentation.

  • If increasing the processing power is not a good option, you must reduce the load on the processors. To reduce the overall effect on the server, make sure that I/O-intensive, CPU-intensive, or memory-consuming tasks occur outside ordinary operation hours.

  • Make sure that CPU-intensive tasks, such as backup and maintenance, occur during off-peak hours. Also, make sure that these tasks are performed in a staged manner. Staging a task means setting different start times and, preferably, end times for each task. Staging the maintenance and backup of databases or storage groups also lessens the effect of these resource-intensive tasks.

For More Information