May 2, 2005 at 11:01 pm
Hi all,
I am trying to find out why only one CPU in a 2 CPU H-T utilized. Using task manager, I can see 4 processors windows but only 1 actually utilized. I select +boost sql server and select all CPU for use. Queries and all other command ie dbcheck.. appear to use only single cpu.
Any help would be nice.
thanks
Andrew
May 3, 2005 at 5:37 am
All the cpus will be used under normal load, or should be, you do need enough work to make use of the cpus mind. If you're using enterprise sql then do some index rebuilds that should use all the cpus.
Don't use the boost priority option it's really not a good idea.
[font="Comic Sans MS"]The GrumpyOldDBA[/font]
www.grumpyolddba.co.uk
http://sqlblogcasts.com/blogs/grumpyolddba/
May 4, 2005 at 5:47 pm
Andrew -
Is it SQL2000/sp3 on a Windows 2000 server?
There might be something here to look at in this doc:
http://www.microsoft.com/whdc/system/CEC/HT-Windows.mspx
While recently researching processor performance issues I discovered that Win2K is "HT-Compatible" but not HT-Aware. When the OS assigns the processors, it just assigns Physical #1=1/Logical#1 = 2, etc. When it comes time to Hyperthread, the OS can't differentiate between Logical and Physical. So, it might assign threads sequentially to processors 1 and 2, without regard for whether it really is 2 different processors, nor to how busy the either one might be. This can be problematic, especially for long-running connections since they are "assigned" to a processor. This to me is one of the fundamental reasons that SQL2K parallelism is such a mystery on a Win2K box. You just don't know what you'll get because the OS itself isn't doing it's job to use the processors to their best advantage. Doesn't know how.
Thought I've heard (but not seen) of cases where processors seem to go unused, it might also be that PerfMon itself isn't seeing the processors correctly and you can get phony processor utilization percentages. Maybe somebody else out there can shed some light on that and tell me if I've been smoking something.
If you are already on a Win2003 machine, ignore the previous paragraph. Win2003 Server knows how to hyper-thread, knows who is Logical and who is physical, and knows how to marshall it's threads to the "least busy" processors, whichever type it might be.
Good luck on the hunt!
Stuart
Stuart
"Chance is always powerful. Let your hook be always cast. In the pool where you least expect it, will be a fish" - Ovid
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply