0

I have processor with 4 cores (Intel Core I5-8250U @ 1.6 GHz)* and hyperthreading makes it 8 logical processors.

I use a program that does some heavy calculation* in a single thread. When I look up the program in Task Manager (Win 10 home) I see cpu usage of 20%. However the Resource Monitor shows only 12.5% (also I can confirm there that the program is running just 1 thread).

In Task Manager it looks like one of the 8 logical processors is running at 100% while others are idling. The load is switching between the logical processors every second or so.

My question is: Does hyperthreading only allow 12.5% cpu usage per thread or is there some clever system that allows it to use 25%? I read a few articles that suggested 25% but it wasn't explicitly stated anywhere (and my observation seems to suggest 12%).

*I know I should use a faster computer for this stuff but this is what I have at the moment.

4

By disabling the Hyperthreading you will have only four cores. As a result the maximum CPU time available will be 1/4 per core which is 25%. So a task using a full core will change from showing 12.5% to 25%.

This does not mean that you will have more CPU power available though, as a process that only uses one core can still only use one core, regardless of how many cores you have in total. It just means that what is shown to you looks larger because you have a lower total available.

There might be some small improvement in speed due to not sharing the cache between the two Hyperthreaded cores, but it will be the order of a few seconds across a task that takes a few minutes, it will not mean a doubling in speed.

  • Thanks. This makes a lot of sense. So it's just the matter of me not understanding what the indications of resource monitor actually mean. – Puzzled student Jul 17 at 13:01
  • The resource monitor doesn't see that one of the logical processors has eaten all of the resources of the other because it treats both of them as physical. – Puzzled student Jul 17 at 13:27
  • @Puzzledstudent yes, as far as the task/resource manager is concerned logical and physical processors are identical. For task scheduling purposes they are the same. Down at the actual core of the CPU is where it makes a difference and for a lightly loaded system it wont matter which "side" of a core it gets loaded on and for heavily loaded systems being able to schedule 2 tasks might mean that the core is able to be fully utilised instead. I did some testing with video transcoding and 4 cores with Hyperthreading is actually faster than plain 4 cores. superuser.com/a/279662/19943 – Mokubai Jul 17 at 13:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.