Performance Monitor (perfmon.msc)
Windows Performance Monitor (perfmon.msc) is a console for reporting and recording resource utilization via counter data for object instances.
- can be used to:
- provide real-time charts of system resources
- log information to a file for long-term analysis
- monitor different resources at different times of the day to detect bottlenecks in a system that are causing problems
- can create log files called Data Collector Sets to record info for viewing later
- 2 types of log:
- Counter logs – allow you to collect statistics about resources
- used to determine system health and performance
- Trace logs – can collect statistics about services
- detailed reports about resource behavior
- extension to the event viewer that can log data otherwise inaccessible
- Counter logs – allow you to collect statistics about resources
- saved logs can be loaded into Performance Monitor from Reports folder or exported to other programs
Performance Counters
- To configure a counter log, you need to select what to monitor in the report
- In Performance Monitor, resources such as memory and disk are collected into objects
- Objects have counters that represent different performance statistics
- there can be multiple instances of the same type of object
- E.g., disk performance can be measured using the Physical Disk Object, and a useful counter is the Average Queue Length
- if there are two disks, three instances of this object can be viewed: disk 0, disk 1, and disks Total
Most Used Counters
| Object | Counter | Description |
|---|---|---|
| Processor | % Processor Time | The percentage of time that the processor is executing a non-idle thread. In general terms, this should be low. If it is greater than 85% for a sustained period, you may have a processor bottleneck. |
| Processor | % Privileged Time % User Time | If overall processor time is very high (over 85% for sustained periods), it can be helpful to compare these. Privileged time represents system processes, whereas user time is software applications. If privileged time is much higher, it is likely that the CPU is underpowered (it can barely run Windows core processes efficiently). |
| Physical Disk | % Disk Time | The percentage of elapsed time that the selected disk drive is busy servicing read or write requests. This is a good overall indicator of how busy the disk is. Again, if the average exceeds 85% for a sustained period, you may have a disk problem. |
| Physical Disk | Average Disk Queue Length | The number of requests outstanding on the disk at the time the performance data is collected. Taken with the preceding counter, this gives a better indicator of disk problems. For example, if the disk queue length is increasing and disk time is high, then you have a disk problem. |
| Memory | Available Bytes | The amount of memory available should not be below about 10% of the total system RAM. If available bytes fall continuously, there could be a memory leak (that is, a process that allocates memory but does not release it again). |
| Memory | Pages/sec | The number of pages read from or written to disk to resolve hard page faults. This means your system is using the paging file. Nothing wrong as long as this is not excessive (averaging above about 50). You probably also want to check the paging file’s usage by viewing the paging object itself. |
| Paging File | % Usage | The amount of the pagefile instance in use in percent. If your paging file is currently 1000 MB on the disk and this figure averages 50%, then it means you might benefit from adding memory (about 500 MB, in fact). Don’t forget that if your system pages excessively, then disk performance will suffer—paging is disk intensive. |