Resource Availability Troubleshooting Getting Started Guide

Applies To: Windows 7, Windows Server 2008 R2

What’s new in resource monitoring?

New in Windows® 7 and Windows Server® 2008 R2, Windows Resource Monitor is a powerful tool for understanding how your system resources are used by processes and services. In addition to monitoring resource usage in real time, Resource Monitor can help you analyze unresponsive processes, identify which applications are using files, and control processes and services.

Resource Monitor Overview

To start Resource Monitor

  • Click Start, click in the Start Search box, type resmon.exe, and then press ENTER.

To pause or resume monitoring

  • To pause data collection and review the current data, click Monitor, and then click Stop Monitoring. When you are ready to begin collecting data again, click Monitor, and then click Start Monitoring.

Resource Monitor always starts in the same location and with the same display options as the previous session. However, at any time you can save your display state including window size, column widths, optional columns, expanded tables, and the active tab. You can then open the configuration file to use the saved settings.

Windows Resource Monitor includes the following elements and features.

Tabs

Resource Monitor includes five tabs: Overview, CPU, Memory, Disk, and Network. The Overview tab displays basic system resource usage information; the other tabs display information about each specific resource.

  • Switch between tabs by clicking on the tab titles.

  • If you have filtered results on one tab, only resources used by the selected processes or services will be displayed on the other tabs. Filtered results are denoted by an orange bar below the title bar of each table. To stop filtering results while viewing the current tab, in the key table, clear the check box next to Image.

Tables

Each tab in Resource Monitor includes multiple tables that provide detailed information about the resource featured on that tab.

  • To expand or collapse a table, click the arrow on the right side of the title bar of the table. Not all tables are expanded by default.

  • To add or hide data columns in a table, right-click any column label, and then click Select Columns. Select or clear the check boxes for the columns you want displayed. Not all columns are displayed by default.

  • The first table displayed is always the key table, and it always contains a complete list of processes using the resource included on that tab. (The key table on the Overview tab contains a complete list of processes running on the system.)

  • To sort table data, click the label of the column you want to sort by. To reverse the sort order, click the column label again.

  • You can filter the detailed data in tables other than the key table by one or more processes or services. To filter, in the key table, select the check box next to each process or service you want to highlight. To stop filtering for a single process or service, clear its check box. To stop filtering altogether, in the key table, clear the check box next to Image.

  • If you have filtered results, tables other than the key table will only display data for the selected processes or services.

  • To view definitions of data displayed in the tables, move the mouse pointer over the column title you want more information about.

  • A process that is no longer running, but that is included in the current displayed data, will appear as a gray entry in a table until the data expires.

Chart pane

Each tab in Resource Monitor includes a chart pane on the right side of the window that displays graphs of the resources included on that tab.

  • You can change the size of the graphs by clicking the Views button and selecting a different graph size.

  • You can hide the chart pane by clicking the arrow at the top of the pane.

  • If you have filtered results, the resources used by the selected processes or services will be shown in the graphs as an orange line.

  • If you have multiple logical processors, you can choose which ones are displayed in the chart pane. On the CPU tab, click Monitor, and then click Select Processors. In the Select Processors dialog box, clear the All CPUs check box, and then select the check boxes for the logical processors you want to display.

Note

Resource Monitor displays one graph for each logical processor. For example, a computer with a single processor that has two cores will have two processor graphs in the chart pane on the CPU tab. For computers with multiple processors organized into NUMA nodes, you can use the Select NUMA nodes menu option to configure Resource Monitor to display all of the logical processors in a selected NUMA node.

In this guide

The following are key scenarios for troubleshooting resource availability using Resource Monitor:

  • Scenario 1: Identify resource consumers

  • Scenario 2: Filter Resource Monitor data

  • Scenario 3: Troubleshoot unresponsive applications

  • Scenario 4: View handles and modules

Scenario 1: Identify Resource Consumers

In Windows Resource Monitor, you can sort table data by any column to help you identify which processes are using which resources. The following procedures describe how to complete some common troubleshooting tasks using Resource Monitor.

Note

To view definitions of data displayed in the tables, move the mouse pointer over the column title you want more information about.

To identify the process with the highest current CPU usage

  1. Click the CPU tab.

  2. In Processes, click CPU to sort processes by current CPU resource consumption.

Note

Resource Monitor saves your display settings when you close the program. If you have previously sorted results in descending order, you must click the column label again to reverse the sort order and show the highest resource consumers at the top of the list.

  1. The first process name in Image, which will also have the highest value in CPU, is the process using the most CPU.

To view service CPU usage by process

  1. Click the CPU tab.

  2. In Processes, in the Image column, select the check box next to the name of the service for which you want to see usage details. You can select multiple services. Selected services are moved to the top of the column.

  3. Click the title bar of Services to expand the table.

  4. Review the data in Services to see the list of processes hosted by the selected services, and to view their CPU usage.

To identify the process that is using a file

  1. Click the CPU tab, and then click the title bar of Associated Handles to expand the table.

  2. Click in the Search Handles box, type the name of the file you want to search for, and then click the search button.

Note

The search string is not case-sensitive, and wildcard characters are not supported. You can type all or part of the file name or path in the search box. For example, searching for c:\windows will return all files with c:\windows as part of the file path.

  1. Review the results to identify the process using the file.

To identify the network address that a process is connected to

  1. Click the Network tab, and then click the title bar of TCP Connections to expand the table.

  2. Locate the process whose network connection you want to identify. If there are a large number of entries in the table, you can click Image to sort by executable file name.

  3. Review the Remote Address and Remote Port columns to see which network address and port the process is connected to.

To view available space on all storage devices

  • Click the Disk tab, and then click the title bar of Storage to expand the table. The Available Space column displays the amount of free space, in megabytes (MB), for each physical disk on the system.

To view the amount of memory available to programs

  1. Click the Memory tab.

  2. In Physical Memory, review the Available to Programs value. Available memory is the combined total of standby memory and free memory. Free memory includes zero page memory.

Scenario 2: Filter Resource Monitor data

Resource Monitor displays real-time information about all of the processes running on your system. If you want to view only the data related to selected processes, you can filter the detailed results.

To filter data by one or more processes

  1. To start Resource Monitor, click Start, click in the Start Search box, type resmon.exe, and then press ENTER.

  2. In the key table of any Resource Monitor tab, in the Image column, select the check box next to the name of each process you want to monitor. Selected processes are moved to the top of the column.

  3. If detailed results are not visible, click the title bar of the detail table to expand the table.

Note

After you have selected at least one process for filtering, the Associated Handles and Associated Modules tables on the CPU tab will contain data related to your selection.

  1. Filtering applies to all tabs. To see additional resource usage data for your selection, you can click another tab. Tables that contain only filtered results include an orange information bar below the title bar of the table.

Note

If the selected process is not using any of the resources displayed on the current tab, the process name will not appear in the key table. To make changes to your selection, return to the original tab.

  1. To stop filtering for a single process or service, clear its check box. To stop filtering altogether, in the key table, clear the check box next to Image.

Scenario 3: Troubleshoot unresponsive applications

Applications that are not responding might be waiting for other processes to finish, or for system resources to become available, before they can continue. Windows Resource Monitor allows you to view a process wait chain, and to end processes that are preventing a program from working properly.

A process that is not responding will appear as a red entry in the CPU table of the Overview tab, and in the Processes table of the CPU tab.

Warning

You should use Resource Monitor to end a process only if you are unable to close the program by normal means. If an open program is associated with the process, it will close immediately and you will lose any unsaved data. Ending a system process might result in system instability and data loss.

To analyze a process using Resource Monitor

  1. In the key table of any Resource Monitor tab, in the Image column, right-click the executable name of the process you want to analyze, and then click Analyze Wait Chain.

  2. If the process is running normally and is not waiting for any other processes, no wait chain information will be displayed.

    If the process is waiting for another process, a tree organized by dependency on other processes will be displayed.

Note

Many system processes depend on other processes and services for normal operation. Resource Monitor will display wait chain information for any process. If a process entry in the table is not red, if the process status is Running, and if the program is operating normally, no user action should be required.

  1. If a wait chain tree is displayed, you can end one or more of the processes in the tree by selecting the check boxes next to the process names and clicking End process.

Scenario 4: View handles and modules

Windows Resource Monitor can show you which handles and modules are in use by a selected process.

  • Handles are pointers that refer to system elements including (but not limited to) files, registry keys, events, or directories.

  • Modules are helper files or programs including (but not limited to) dynamic-link library (DLL) files.

To view all handles and modules associated with a process

  1. On the CPU tab, in the Image column of the Processes table, select the check box next to the name of the process for which you want to see associated handles and modules. Selected processes are moved to the top of the column.

  2. Click the title bars of the Associated Handles and Associated Modules tables to expand them. An orange bar below the title bar of each table shows the processes you have selected.

  3. Review the results in the detail tables. To refine the results, you can use the following procedure to search for specific handles in the Associated Handles table.

To identify applications using a handle

  • In the title bar of the Associated Handles table, click in the Search Handles box and type the name of the handle you want to search for. Results will be displayed as soon as you stop typing in the field.

Note

The search string is not case-sensitive, and wildcards are not supported. You can type all or part of a string to search handles. For example, searching for c:\windows will return all handles with c:\windows as part of the handle name.

  • To refine your search results, in the Processes table, you can select the check box next to the name of a process after searching. The results will then be filtered by the selected process or processes.

Note

The results table is not dynamically updated. If you think that the system state has changed, click the search button again to refresh the results.