Windows Server

Use Resource Monitor to monitor CPU performance

Scott Lowe provides an overview of disk-related metrics in the Windows Resource Monitor. Find out you can use the tool to troubleshoot CPU performance issues.

In part one of my four-part series on the Windows Resource Monitor tool, I explained how you can use Resource Monitor to glean intelligence about the operating condition of mission-critical Windows servers. In this column, I discuss the various disk-related metrics that you can view with Resource Monitor, explain the graphs you see, and provide some context around each metric.

For the purposes of this post, we'll use the screenshot below in Figure A. The figure shows a Resource Monitor view from a production server running Windows Server 2008 R2 and Exchange Server 2010 with all Exchange roles installed. Like all of our other servers, this server is running as a virtual machine under VMware vSphere 4.1. The virtual machine has four vCPUs assigned to it. This screenshot was taken during a particularly light period of usage. Figure A

Resource Monitor CPU view in Windows Server 2008 R2 (Click the image to enlarge.)

Let's start with an overall look at the console. The statistics area occupies most of the window. In the sections below, I provide details for each metric. I won't repeat metrics; if one type of metric appears in multiple areas, I list it once.


This section of the window is a list of all of the running processes that are using CPU resources. You are shown the name of the executable and a number of performance statistics.

  • Name. Process executable file name. This is the name of the process that is consuming CPU resources.
  • PID. The ID number associated with the process. This is useful if you want to use other utilities to manage processes, or if you want to easily match up processes with Task Manager.
  • Description. A short description that details the purpose of the process.
  • Status. Process execution status. The process might be running, as most are, or might be listed as terminated if it's not running anymore.
  • Threads. Number of active threads. A thread is a single processing instance.
  • CPU. Current percent of CPU consumption by the process, or how much of the system's processing power is being devoted to this specific process.
  • Average CPU. This is average CPU consumption by the process over the past 60 seconds. This gives you a real-time look at what's happening on the system right now and for the past minute.
The Processes section is pretty useful for troubleshooting because you can get a quick overview of the current system status. You can also use this section to troubleshoot issues when you have a process that appears to be stuck by right-clicking any process and choosing the Analyze Wait Chain option (Figure B). Once the analysis is complete, you will get a results page (Figure C). Figure B

Troubleshoot process issues
Figure C

The results of the analysis (Click the image to enlarge.)


The Services section is a list of each service that is running. In Figure A, you'll notice that only the services related to the two selected processes are listed. This is by design and provides you with a way to see how processes and services are interrelated; this also eases troubleshooting. You can right-click any listed service to manage that service, too.

  • Group. Service Group. These are services that run together in a group.
Figure D

Manage services from within Resource Monitor

Associated Handles

Have you ever needed to determine which process was holding a file open? With the Resource Monitor's Associated Handles section, you can do just that. Handles are pointers that reference files, registry keys, directories, and other things.

In the Search Handles field, type the name of the file or the path you want to find. A list of processes is returned. This is particularly useful when you look at services that have a ton of different file associated with them such as svchost. In Figure E, you can see how this can help you narrow down the svchost morass. In fact, from this table, you can right-click one of the svchost's files and end that specific process.
  • Type. Handle type. If you'd like to learn more about handles and types, read this TechNet article.
  • Handle Name. Name of the handle associated with the selected process. You can use this to search for related files or registry keys.
Figure E

A list of all of the svchost processes (Click the image to enlarge.)

Associated modules

Modules are helper files or programs, such as DLL files, used by processes to perform their tasks. You can use this section to further drill down when you're looking into potential performance issues.

  • Module name. Name of the module loaded by the selected processes.
  • Version. The file version for the associated module.
  • Full Path. The full path to the module in use.

The graphs

The right side of the window has a number of graphs, each depicting CPU-related performance metrics.

CPU - Total

On this graph, you will see two metrics depicted by blue lines and a green area graph. The blue line shows the total processing power (CPU frequency) available to the system, and the green area shows the current utilization of those available resources. Resource Monitor runs on many different versions of Windows, and many computers these days have processors that can step down their clock speed as a way to conserve power or lower temperature. When this happens, the blue line changes to reflect the change in CPU frequency, and the green area adjusts to meet this new reality.

Service CPU usage

This graph indicates how much CPU horsepower is dedicated to background resources and processes.

CPU 0 - CPU 3 (some parked)

For each CPU core, how much of the CPU is in use? Some CPU are marked as being Parked, which means they are shut down temporarily because there is nothing for them to do at present. These screenshots in this article were taken during off hours and when students are not on campus, so the Exchange server is basically twiddling its thumbs for a couple of months.


The Windows Resource Monitor CPU performance tool provides very good at-a-glance information about some important CPU-based performance metrics.


Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...