The pictures below relate to a feature that server admins and people with access to mega-PC setups with lots and lots of logical processors often ask us about. One key thing to note up front is that here we are talking about logical processors, so if you have a system capable of hyper-threading, you will see multiple logical processors for each physical processor.
For those of you who have access to one of these many-processor systems, you know that the task manager CPU charts in Windows 7 have a few limitations:
Lack of real-time comparisons: When you are looking at a CPU graph for lots and lots of logical processors, it is the anomalies that are interesting. At scale, it is pretty hard to compare moving line graphs of a 60-second window of CPU utilization to understand what is going on.
Tiny graphs: When you get to the 64+ logical processor range, the graphs get pretty small. If you are trying to figure out which processors are being heavily used, you really have to squint to figure it out. When you get over 256 logical processors, you can barely read the charts at all.
Finding the processor ID: If you do identify an anomalous graph, there is no easy way to get the corresponding processor ID.
Below is the Windows 7 Task Manager CPU performance tab on a system with 160 logical processors.
Figure 1: Old Task Manager showing 160 logical processors
As you can see, it is really hard to compare the cells in the CPU Usage History table to each other. The graphs are hard to read, and if you want to compare instantaneous CPU utilization, it is nearly impossible because each cell is showing a moving 60-second graph. Moreover, all the graphs in the CPU Usage History table look identical, so you can’t easily find the processor ID for a specific graph. In our previous post on Task Manager, we discussed the benefits of using a heat map as a visualization to convey and compare large amounts of numerical data. When we looked at designing the graphs for the “many-core view” of the new performance dashboard, a heat map was a natural fit.
In the screen shots below, taken from a current build of Windows 8, it is now easy to see all the logical processors at a glance and know which are being utilized to high and low capacity.
(Note: The screen shots below show Task Manager on a system with 160 logical processors with a simulated workload.)
Figure 2: New Task Manager showing 160 logical processors
In the new CPU graph, you can also get the logical processor ID that maps to each entry via a tooltip, by hovering over the entry with the mouse.
Figure 3: Tooltip showing the logical processor ID
A major benefit of a heat map is that it scales really well to large data sets. The new Task Manager will show as many logical processors as the OS supports (up to 640!). To make sure you always see the information at a meaningful size, when the data set gets too big for the window, the heat map scales to best fit, and a scroll bar appears as needed.
Figure 4: With 160 logical processors, the CPU graph scales using a scrollbar
For those of you who really like to (micro-) manage every last detail of your system, you can even set which logical processor(s) each of your processes can use. To do this, you first find the ID of the logical core by hovering over one of the cells in the heat map, then go to the Details tab, right-click the process you want, and click “Set affinity.”
Figure 5: Set process affinity from the Details tab
Figure 6: Select the logical processors for the process Using Task Manager with 64+ logical processors - Building Windows 8 - Site Home - MSDN Blogs