How To Track Applications Resource Usage In Windows 7

Most of us tend to overlook this, but it is very important to control the resource usage of your applications. When an application misbehaved, it can cause other programs to work erratically. If your system runs out of CPU or memory, the programs has to stop until those resources become available.

Since the first version of Windows, utilities for resource control has evolved. Now Windows 7 comes with 3 programs that can track/control resource usage: Task Manager, Performance Monitor and Resource Monitor. While there are other more advanced application, for example Process Monitor by Sysinternals, it will be worthwhile to first use the pre-built application as it uses less resources and storage space.

In this post I will show you how to use the Resource Monitor to track the resource usage of an application in Windows 7.

Starting the Resource Monitor

You can start Windows applications in several ways. In this case we are going to use the “find” function in the Start menu, type resmon and click over the program:

resourcemonitor-Start-Resmon

The program will show up.

resourcemonitor-First-Overview-Tab

As an example, I will illustrate using the Excel program.

Control CPU and associated files and libraries

First we select the Excel process:

resourcemonitor-Select-Excel-Process

Now we go to the CPU tab and expand associated handles and modules:

resourcemonitor-CPU-Tab

You can also find out what services are associated with the process. In this case, Excel is not using anyone, so I haven’t show that portion of the window.

In the associated handles, you can see the files, event and other kind of objects open by this Excel. You can use the search handle to know if excel is using a file. The number of handles the system is capable of working with is limited, so a program that uses a big number can stop your system.

In the associated modules you can see the libraries that is using the program.

Control Memory

With Resource Monitor, it is easy to know how much memory the application is using. Click on the memory tab.

resourcemonitor-Memory-Tab

At the bottom of the window you can see a graph with information about the memory of the system. We can see that the system is not having problems offering memories to the programs.

The information showed for each process is:

Hard page fault per second in the last minute – This show how many times these processes has used the virtual memory in the last minute. An intensive use of virtual memory means that programs has to wait. So if you start seeing large numbers, maybe it is time to buy more RAM.

Commit Memory – Virtual memory reserved to this process.

Working Set – Physical memory used by this process.

Shareable – Physical memory that can be shared by other programs.

Private – Physical memory that cannot be shared by other processes.

Analyze Wait Chain

Resource Monitor can analyze if a process is waiting for other program. If a process need to use a resource that is being used by another process, it has to stop until that resource become available. To analyze a process just right click and select Analyze Wait Chain…

resourcemonitor-Wait-Chain-Start

And then we will see the information about what process is stopping our application:

resourcemonitor-Analyze-Wait-Chain

Excel is waiting for OSPPSVC.EXE program before it can continue.

The above mentioned will be all you need to monitor your application and control the resource usage of the application. It is a handy task, but not used by many people. What other programs do you to use to track resource usage?