Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I go to the task manager I see 8 processors but I know that I have 4. Why?

alt text

share|improve this question

migrated from serverfault.com Jan 14 '10 at 23:24

This question came from our site for professional system and network administrators.

3 Answers 3

up vote 33 down vote accepted

Hyperthreading.

Hyper-threading abstracts away task switching from the operating systems. Normally an operating system has to deal with scheduling processes over different CPUs as well as ensuring that each task that runs on the system has its fair share, but not too much (if something else wants it) of the CPU.

Hyper-threading is a way of taking that 2nd process of task sharing away from the operating system, at least for a little bit. The reason is that the processor can task switch much faster than the operating system can tell it to. So by presenting two logical processors when there is in fact only one, the operating system has to do only half as many task switching operations, but more CPU scheduling. But the net result is supposedly a faster machine in multi-tasking operations.

The actual benefits of this vary greatly depending on the workload that you're doing. For most people, there is no harm in leaving it on or turning it off. 4 vs 8 threads is like choosing between a ferrari or a lamborghini for home users.

However, in server scenarios, it can make a large difference. For example, hypervisors can often get a large increase in speed through the use of hyperthreading, as they have very strict CPU scheduling requirements.

However, SQL servers often do not get this increase, because it's often better to have four "large" threads than 8 "medium" sized threads.

share|improve this answer
    
Thank you for the link +1 –  Daok Jan 14 '10 at 22:30
3  
As a highly valued Super User, I suggest you revisit this answer and add more detail. The link doesn't help to explain anything on what Hyperthreading is or what it does. –  KronoS Jul 26 '12 at 18:09

The i7 family is a Quad-core processor that has 8 threads. Normal quad-cores have 4 threads, and since hyper-threading is enabled, your computer recognizes those 8 threads as processors.

share|improve this answer

That my friend is hyper-threading.

Hyperthreading is a form of simultaneous multi-threading that takes advantage of super scalar architecture. Multiple instructions operating on separate data in parallel. They appear to the OS as two processors, thus the OS can schedule two processes at once. In addition two or more processes can use the same resources. If one process fails then the resources can be readily re-allocated. The OS must support simultaneous multi-threading (SMT).

share|improve this answer
1  
"Beauty" is debatable. In some cases hyperthreading destroys performance. –  MDMarra Jan 14 '10 at 22:11
    
It all depends on what you're doing –  prestomation Jan 14 '10 at 22:24
    
You guys happy now? :D (Wasn't trying to elicit a troll war or anything) –  wayoutmind Jan 14 '10 at 22:28
    
Thank you for your answer +1 –  Daok Jan 14 '10 at 22:29
1  
"That, my friend, is hyper-threading in all it's beauty!" :) –  Molly7244 Jan 14 '10 at 23:36

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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