Why won't Windows use the other CPU cores?

7

2

In Windows Task Manager the Performance tab shows the first CPU maxed out, the other 7 just idling along with the occasional spike. What gives?

More info: I've got 8GB and only 4.5GB are being used. The Processes tab has no indication of any process hogging processing power. In fact System Idle Process is 98-99.

When I program stuff and have like 8 to 12 applications going (several directly unrelated to programming of course) my computer slows to a crawl.

System Info:

Intel Core i7-2600K Processor (quad-core with hyper-threading), 
8GB RAM, 
Intel BOXDZ68BC LGA 1155 Motherboard, 
500GB HDD

revloc02

Posted 2012-11-03T15:23:21.633

Reputation: 113

1

Are you running a single, slow process? Many processes simply aren't programmed to use multiple cores. Try running Prime95 briefly to see if it uses all of your cores

– Ben Brocka – 2012-11-03T15:26:52.520

I ran Prime95 as you suggested and it maxed all 8 CPUs. (I know there is only 4 cores, but with hyper-threading Windows reports 8 CPUs in Windows Task Manager, so that's what I am referring to.) I was running one program that could have been the culprit, but it usually does not run so slow, nor does it slow other programs. So maybe it was a combo of processes, but why did they not run on separate cores? – revloc02 – 2012-11-03T15:36:04.077

1if Prime95 maxes out the cores, then it's working right. Have you ruled out HDD and memory bottlenecks? – Ƭᴇcʜιᴇ007 – 2012-11-03T16:00:31.177

Task Manager adds interrupt processing time to System Idle Process. If System Idle Process is 99% but one core is 100%, it is maybe processing interrupts. Use Resource Monitor, which breaks out interrupts and DPCs. (I assume this is Windows 7) – David Marshall – 2012-11-03T16:07:55.973

Answers

8

Many apps don't use all cores. They aren't programmed for it. Then they will use one core and will overload it.

But you can tell Windows to run that process on 2,3, ... and in all cores.

For doing it, follow these steps:

  1. Open Task Manager
  2. Select tab Processes
  3. Right click and select 'Set Affinity'
  4. Select on which cores you want to run process.

Searush

Posted 2012-11-03T15:23:21.633

Reputation: 781

2You can tell Windows to use which "threads" it can use doesn't mean the program will actually USE them in the traditional sense. – Ramhound – 2012-11-03T16:40:30.327

2@Ramhound , you're right, but this makes better performance for a lot of programs;) – Searush – 2012-11-03T16:58:28.633

1

your processor is quad core it will run 8 threads on multithreading however not all applications are programmed to use multiple threads some applications just require 3 threads so it means that application will use only one core or two. so even on setting the affnity of process for 4 cores it will still use less hardware

raven

Posted 2012-11-03T15:23:21.633

Reputation: 194

0

If you have Intel Core i7 2600 CPU first check if it is Dual Core or Quad Core.
Some high end Core i7 CPUs are 6 core processors , and the other cores you see in Task Manager performance tab are virtual cores.

raven

Posted 2012-11-03T15:23:21.633

Reputation: 194

2It is a quad-core CPU with hyper-threading. So 4 cores, but Windows reports 8. Still it seems like only one core was running the hard stuff, and everything (all programs) was bogging down. – revloc02 – 2012-11-03T15:42:16.740

1@raven, you could edit your first answer, and add there your second answer;) – Searush – 2012-11-03T16:59:27.103

@revloc02 - Unless you give exact details of what processes were running, and how many threads, each process was using your conclusion is incomplete. It sounds like you were just using process intensive applications. – Ramhound – 2012-11-03T21:38:10.730