How To Use Perfmon To Monitor Performance

In this article we will see how we can monitor performance using built in windows Performance monitor (perfmon)

Performance Monitor is a visualization tool to troubleshoot and find server and application bottlenecks. For many years this tool has been included in Windows to troubleshoot and analyze graphically what cause the issue of slowness, bottlenecks, server issues, hardware and application level issues using many built-in counters to satisfy your needs. But all this configuration of adding counters suitable your needs and collecting data using Data Collection Sets is a headache to do as there are too many counters available.

You need to have guidance of which metrics you want to use in a proper way and what you want to trace out. It's handy to select and start from a list of thousands of available counters; it takes time but you need to check them as your priority and make proper data collection sets to log it and check it.

The best thing about the performance monitor tool is the visual representation of data in both real time and from log data by setting the path for logging.

Basically it examines how applications or programs affect your computer performance. Now the question arises how does it collect the data related to specific counter? As already discussed, it contains thousands of counters to collect the data in data collection sets and either it displays it in real time or you can check later by using the logs.

We will later discuss how to set and collect data through different counters.

Let’s first open the performance monitor, you can open either using Windows + R key to Run and type perfmon and Click OK button or hit ENTER Key.


After Ok it will show the main window of the Performance Monitor.


Main window in the Right pane contains the overview of the Performance Monitor (Description of what is perfmon and how it can be used), System Summary (contains system name, memory details, Network interface, Physical disk and processor information) and Learn More links on how to get started.

In the left pane Click on the Performance Monitor and new view has been opened replacing the right pane with new window which looks like this.


This is the main view of the performance monitor which contains rich toolbox in the top, below is the visualization of real-time monitoring and counters section, and in the bottom of it counters are present with options to show counter on the graph section. You can set this option via a checkbox to either show or not. Then when you add a new counter you assign a color to differentiate it with the rest of the counters and recognize them in real-time, there is a scale, counter name, with instance of running, parent, object and computer name.

It’s the basics of what the performance monitor (perfmon) is and what is included in it.

Now let’s discuss in detail how to use the performance counter, adding the new counters to analyze the counters.

Key elements in performance monitoring:

Data Collector sets

An important and main component in performance monitoring is data collection sets. It is an XML object that group data collectors in to reusable elements for use with different data monitoring sections. You can do operations on data collector sets to create logs, load in the performance monitor to see it in real-time and save it as a template on another computer.

Wizards / Template for creating Logs

Performance counters can also be used to create logs and you can also start, stop and schedule the duration of the collection wizard. If you want to reuse the collection with any other computer or elsewhere in any data collection sets then you can save the desired collection as a template and later on use it in any other computer. It can decrease the cost to recreate the collector sets. The log and alert system is also incorporated with performance monitor for use with any required data collector set.

Now let’s do some practical demonstration of creating data collector sets, real-time monitoring and creating logs to log the results of data collector sets.

For Creating New Data Collector sets point to the Data Collector Sets and Expand the parent node; now you will see an option, User Defined. Right click on this menu and it opens a new context menu where options like New, View, Refresh and Export list are present. As we are heading towards a new data collector set, we click on New which expands another context menu where present next to it are Data Collector Set, please see the below image for step 1


After clicking on new data collector set, a new window appears which has the option to name the data collection set and some settings like create the data collector set from Template or in custom mode (manually) which is advanced mode and also there help materials present which can guide you through the all process of either creating though template or manual.


Firstly we will create the collector set from template, to do so give it a name to create a collector set and choose the default option, create from a template (Recommended).

After entering name and option and clicking Next button it will open the next window with template data collector set in the left side and description on right side and a browse button if you have any saved templates you can select from them.

I have selected system performance template which has a description of in which state it generates a report detailing the status of local hardware resources, system response times, and processes on the local computer. Use this information to identify the possible causes of performance issues, for this rule to run you have to be a member of a local administrator group.


Click on the Finish Button. Congratulations you have successfully created a new Data Collector set.


As elaborated earlier you can start, stop and export data collector sets.

When you start the collector by right clicking and clicking on Start action it starts collecting data as per defined collector set performance counters.

You can also save the collection as template, Data manager (to manger the minimum free disk space and maximum folders, maximum root path size and name the report) and other options.

Here is the first look at the data collector set which collects data after starting it.


If you want to see what it has collected you can click on reports, then User Defined, and the same folder name of which data collector you created and it shows report under this folder and by clicking on the report it shows a preview like this.


This report contains too many performance counters to actually find what we need. You can hide or show these counters by using Show checkbox button or either click on the counter and in the new windows select or remove the counters you required.

So in this way you can do analysis of the performance and monitor your server resources.

In the next article I will demonstrate how to add custom performance counters.

Hope you find this useful, if you have any questions post in the comments section.