We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now


dual processor server not utilizing the 2nd server

jasonfarmer asked
Medium Priority
Last Modified: 2011-09-20
when i look at the task manager on my server it shows the 1st cpu graph at about 50% and the 2nd graph at about 10%. is there a way to load balance the workload?

Watch Question

Technology and Business Process Advisor
Most Valuable Expert 2013
Did you look at the processes to see WHAT was using the CPUs?

If an application is multi-threaded, it can take advantage of two CPUs.  If it is NOT multi-threaded, then it cannot take advantage of multiple CPUs and the CPU the OS schedules it on is the CPU that will be used.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts


the sql server that comes with act 2005
Lee W, MVPTechnology and Business Process Advisor
Most Valuable Expert 2013

What SQL Server is it?  Is it MSDE?  I believe MSDE is locked to using 1 CPU only - it's the free version is not going to give you advanced performance and multi-threading for nothing... Microsoft is not that kind.
I think you're just running into limitation of SMP:


It can load balance to an extent, but I don't think you'll notice it unless you really are taxing the system.

You'll probably see that CPU0 does most of the interrupts, etc.

As far as a way to get true load balancing out of them...I don't know that one.
Lee W, MVPTechnology and Business Process Advisor
Most Valuable Expert 2013

Most multithreaded applications in Windows WILL be ROUGHLY load balanced.  A single continuous thread will not.  

If the system is NOT a true SMP system, but rather a HyperThreaded system, for example, then that could EASILY show the two CPUs off balance.  HyperThreading (as it was once explained to me by an intel rep), seperates the CPU into two processors - one integer, one floating point.  Then while the integer portion is busy, the floating point can run another operation instead of having it process ONE or THE OTHER, it processes BOTH.  If the application is integer intensive, then the floating point unit may remain largely idle.  Task Manager will view each as a seperate processor but not necessarily identify which is which.


its not a hyper threaded system. its a dual P3 1GHz system.

^^ see there if you want a decent explanation of how SMP works with Windows (pretty much the same in 2003).

I think you aren't going to find a good way to achieve a 50/50 balance (unless you went to a Linux kernel, lol).  If you knew the processes (use Process Explorer from www.sysinternals.com or task manager) you could set the Processor Affinity thus restricting a process to a certain processor, although you may open even more worms with that idea.

Unless CPU0 is running at 90-100% and the other one is sitting still at 10% under heavy loads, I wouldn't be too concerned.  Even if you could achieve a 50/50 split, I can't see that being any faster than a 70/30 split overall, since only one proc can still access system memory at a time on your system.
Thanks for the points!
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.