Analyzing Processor Activity

Use this quick guide to view the topics and tasks that you need to monitor your processor activity in Microsoft Windows 2000 Professional.

Quick Guide Icon

 Get familiar with processor counters to understand the data they collect and how you can use it.

The Processor object counters report data about processor activity including processor use, requests queued for processor time, and more. Its important to understand the type of data these counters provide and what it tells you about processor performance.

  • See Overview of Processor Monitoring and Analysis later in this chapter.

Quick Guide Icon

 Establish a baseline for processor usage.

A performance baseline is the level of performance you can reliably expect during typical usage and workloads. When you have a baseline established, it becomes easier to identify when your system is experiencing performance problems, because counter levels are out of the baseline range.

  • See Establishing a Baseline for Processor Performance later in this chapter.

Quick Guide Icon

 Analyze utilization and queue data.

Typically a queue of several waiting processor requests combined with a high CPU utilization rate signals a processor bottleneck. Observing counters that report this data is important for detecting bottlenecks that might be reducing your systems ability to handle its workload.

  • See Recognizing a Processor Bottleneck later in this chapter.

Quick Guide Icon

 Identify inefficient applications by monitoring processor use and other data associated with processes and threads.

  • See Processes in a Bottleneck later in this chapter.

Quick Guide Icon

 Monitor thread activity and related data during bottlenecks to understand how applications are using processor resources.

  • See Threads in a Bottleneck later in this chapter.

Quick Guide Icon

 Experiment with changing thread priority as a temporary cure for applications receiving little processor time.

The operating system is designed to schedule threads to run in an optimal fashion so that the user need not intervene to manually adjust thread scheduling by changing thread priority. However, if you find that certain threads are seldom able to run due to the activity of other threads, you can adjust the threads priority in order to allow them to run. Doing so does not provide a long-term solution to a thread bottleneck but is a useful illustration of the effect of thread priority on thread activity.

  • See Advanced Topic: Changing Thread Priority to Improve Performance later in this chapter.