Which tab in the Task Manager shows the overall CPU utilization graph on the computer?

Task Manager in Windows has a helpful graph in the performance tab that shows how much of your CPU processing power is being used but this graph doesn’t tell the full story. Modern CPUs have multiple processing cores and you may find that many applications can’t take full advantage of multiple processor cores. You can change the CPU usage graph to show the usage of each of your computer’s processor cores.

Firstly, you’ll need to open Task Manager, you can do this by pressing Control, Shift, and Escape at the same time. Next, you need to move to the “Performance” tab.

Tip: If you can’t see the performance tab you may be in the streamlined view. Click the “More details” arrow in the bottom-left corner to open the full Task Manager view.

Once in the performance tab you’ll see the standard CPU usage graph, this shows the overall usage of your CPU. You can change this to show the usage of individual processing cores by right-clicking on the graph, selecting “Change graph to” and then clicking on “Logical processors” in the sub-menu.

Right-click on the CPU usage graph then select “Change graph to” and “Logical processors”.

The logical processor graphs will show the individual usage of each core of your CPU. In CPUs with hyperthreading enabled the extra logical processors will be shown and will be indistinguishable from physical processor cores.

When using this view, you may find that some processes are better than others at using all of your available processors. For example, some apps don’t like using the hyperthreaded core on each physical processor core while others can only ever use one processor core at a time.

If you’re seeing similar usage on only even-numbered cores and minimal usage on odd-numbered cores, its likely that the application doesn’t work well with hyperthreaded cores.

Tip: Unfortunately, even if you can see that an app isn’t using all of your processor cores there’s no way to force it to do so. The app has to be designed to support multiple processor cores. If you want this to change your best bet is to contact the provider of the software and ask them to add multithreading support.

When Task Manager tells you that overall CPU is 100%, you’d be led to believe that the system is working as hard as it can and has no additional processing capacity available. And when Task Manager reports a process’ CPU at 40%, intuitively you believe that the process is consuming 40% of the system’s total available CPU capacity. Those were reasonably accurate interpretations through Windows 7 and Windows Server 2008 R2. But with its redesign first introduced in Windows 8, Task Manager’s Processes and Performance tabs now rely on different metrics and present numbers that are misleading and that without additional context are completely meaningless.

Task Manager’s changes were intended to accommodate advances in chip technology. It is relatively straightforward to determine a processor’s utilization: how much time during a given interval that it spends busy vs. idle (*). Back when CPUs always used to operate at a fixed frequency, simple arithmetic told you how much work a CPU had performed. Modern CPUs offer improvements in energy efficiency, such as operating at reduced frequencies or shutting down completely during periods of lower demand, and running the processor core faster than the marked frequency during periods of higher demand. Therefore, a CPU’s utilization by itself no longer tells you as much as it used to about how much processing is being performed.

(*) In earlier versions of Windows, these were rough approximations. The accuracy of the available metrics improved from Windows XP to Vista to Win7, and their corresponding Server OSes.

To try to account for these complexities, Windows introduced the concept of processor utility along with performance counters that measure that utility. Windows defines a processor’s utility as the amount of work it completes as a percentage of the amount of work it could complete if it were running continually at its nominal performance level, and never enabling an enhanced performance mode. When a processor enables an enhanced performance mode — a regular occurrence — its utility percentage can easily exceed 100%. The possible upper bound is indeterminate and depends on a variety of factors that Windows cannot directly measure. Task Manager’s Processes and Performance tabs now use the “% Processor Utility” counter as the basis for their CPU numbers, rather than the “% Processor Time” counter Task Manager had relied upon and that is still used by Task Manager’s Details tab and by Sysinternals Process Explorer.

As a result, because dynamically-adjustable processors automatically enter an enhanced mode when under load, Task Manager’s CPU % for a process that is actively executing code will generally be significantly larger than its processor time. But because that number is placed on a scale that is capped at 100%, Task Manager makes it appear that the process is taking up more of the system’s computing capacity than it actually is. For a while, Task Manager itself would report overall CPU usage greater than 100%. Because that’s counterintuitive even to people who understand the concept of “utility,” Task Manager now caps the numbers it reports at 100%. That ends up further distorting what it reports. I’ll illustrate.

I’ve built a test utility that enables me to spin up an arbitrary number of CPU-bound (i.e., always busy) threads, and to set each thread’s processor affinity such that each thread runs on a separate processor. I’ve got a 12-processor system, so I will spin up six threads, each of which will run only on one of the first six processors.

In the screenshots below, Sysinternals Process Explorer and Task Manager’s Performance tab confirm that exactly half of the system’s twelve processors are fully utilized, and that the other processors are almost entirely idle. Note, though, that Process Explorer reports total CPU% at just over 50% while Task Manager reports 83%. Perhaps that should be 83% on a scale of 166%. But what does that even mean? “Percent” literally means “per hundred.” Well, Task Manager’s Performance tab also shows that the processors’ Base speed is 2.40 GHz but during this measurement their Speed is 3.94 GHz. It turns out that 83% times 2.40/3.94 is 50.56%, which is close to the actual utilization. 83 “percent” in this case is actually on a temporary scale of 164.17 (100% * 3.94/2.40). That explains how the numbers turn out that way, but doesn’t make them intuitive or meaningful.

Process Explorer’s System Information dialog box and Task Manager’s Performance tab

Task Manager’s Processes tab reports that my test program is consuming 82.8%, almost all of the 83% total utilization it’s reporting. At the same moment, Task Manager’s Details tab says my program is consuming 50% of the CPU. The Details tab’s figures, based on “% Processor Time” rather than on “% Processor Utility,” make more intuitive sense than the Processes tab’s numbers.

Task Manager’s Processes tab vs. its Details tab

Let’s take it up a notch and run eight CPU-bound threads, maxing out two-thirds of the processors while leaving the others idle. Task Manager’s Performance tab reports 100% CPU utilization, implying that the system is running at maximum capacity, while at the same time both it and Process Explorer clearly show that four of the twelve processors are sitting idle and available for work. Task Manager’s Processes tab says that the test program is consuming 100% of the CPU, while the Details tab reports that it’s consuming only 67% — two thirds of the available processing power.

Process Explorer on the left, Task Manager’s Performance tab on the right

Task Manager’s Processes tab vs. Task Manager’s Details tab, round 2

The bottom line is that Task Manager’s CPU numbers can be misleading, counterintuitive, and ultimately meaningless. “% Processor Utility” is an arcane measurement at best and does not belong in an end-user diagnostic utility such as Task Manager.

See my colleague Jeff Stokes’ take on this issue here.

Neuester Beitrag

Stichworte