News How to Check CPU Usage

Knowing how much of your CPU is in use can be crucial to diagnosing performance issues. Here’s how.

How to Check CPU Usage : Read more
With the logical processor view open, you can tell whether your CPU’s load is evenly spread across all logical processors, or if one or two threads are being hammered at 100% while the rest of the CPU is under lower stress.
You are not making any statement here of which one is the one you want or recommend to the readers...

Evenly spread load doesn't mean anything for how well your app/game runs, it's not a diagnosis tool for performance issues of anything you code yourself or anything you run.
Windows does load balancing on all available logical processors which means that an evenly spread load just means that there is enough load for windows to spread it out. Windows can and does mix random threads with your app/game threads making them possibly run less than optimally.

Having your main threads run at 100% while the rest of your code uses as much as it has to on the rest of the CPU (even if "the rest" is multithreaded and uses up a lot of CPU) is desirable for many games and apps and having the main threads run slower, the same as the others, makes the whole thing run slower.

Windows uses a round-robin methodology so that an approximately equal number of threads in each process are assigned to each processor. When possible, Windows schedules a thread to run on its ideal processor; however, the thread can occasionally run on other processors.
 
The problem with CPU % utilization is the only performance problem it's useful for is telling you if the CPU is maxed out. It won't be able to tell you that CS:GO likes higher single core performance because the utilization % is low and to most people that means something must be wrong if they're expecting something better.

EDIT: I also want to point out that CPU % utilization, or really any hardware's % utilization, is not a measure of how much the hardware is actually used. Like for instance, if you have 8 cores, 25% utilization doesn't mean 2 cores are super busy. Or going even deeper, if the CPU core has say 8 execution resources, 25% utilization doesn't mean only 2 of those are used.

No, it's "did the hardware have something to do?" It doesn't matter if a 1 or 8 of those execution resources in a core were used, if it was used throughout the sampling period (usually 1 second), it's considered 100% utilized.
 
Last edited:
The problem with CPU % utilization is the only performance problem it's useful for is telling you if the CPU is maxed out. It won't be able to tell you that CS:GO likes higher single core performance because the utilization % is low and to most people that means something must be wrong if they're expecting something better.
That's too broad of a statement to be correct.
You can get CPU % utilization numbers that will show you that a software thread is maxing out a logical processor and would benefit from a faster one.

You can see here, 37% overall CPU usage but one thread runs at 24% out of 4 logical processors so it's maxing out the one it runs on.
You can also see that that one logical processor has zero idle time.
PCM in the bottom left also shows you that one logical processor runs at 3.5Ghz while the others run at 4-600Mhz
SAVrK9D.jpg