Click here to monitor SSC
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in
Home       Members    Calendar    Who's On

Add to briefcase

Cores not being used on Windows 2008 SQL Server 2012 Expand / Collapse
Posted Wednesday, June 12, 2013 11:53 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Tuesday, July 2, 2013 3:14 PM
Points: 3, Visits: 26

I am experiencing instances where not all the cores are being utilize for certain queries in SQL Server 2012.

When this happens one of the cores becomes max to 100% CPU usage. This causes everything on the server to slow down and no one else can use the sql server until the offending query is kill from the server. My guess is that it is related to parallelism.

Any suggestions on how to go about debugging this? I can't see the actual execution plan because we always end up killing the offending query. It is a production machine so I can't really play around with it.

Post #1462762
Posted Thursday, June 13, 2013 12:07 PM

Ten Centuries

Ten CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen CenturiesTen Centuries

Group: General Forum Members
Last Login: Thursday, August 18, 2016 5:39 AM
Points: 1,160, Visits: 3,359
Which edition are you using? Are you aware of the new core licensing model in SQL Server 2012?


Follow @sqlscribe
Post #1463244
Posted Friday, June 14, 2013 2:39 AM



Group: General Forum Members
Last Login: 2 days ago @ 12:29 PM
Points: 17,173, Visits: 32,140
You don't need to see the actual plan to see if it's doing a parallel execution. You can pull the plan out of cache for the query, while it's running. That will show you everything you need to know if it's a parallelism problem or not. Use sys.dm_exec_requests and join that to sys.dm_exec_query_plan.

But, if it's one CPU and not the others, it sounds like it's more likely to be something other than a parallel execution. Maybe you do need it. I would check the Max Degree of Parallelism setting on the server first. See if it's set to anything other than 0 (the default), especially if it's set to 1. I would also check the affinity masking on the CPUs and how many CPUs SQL Server can see. I'd also check the cost threshold for parallelism. The default is 5, but that's usually very low for most systems.

"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood..." Theodore Roosevelt
The Scary DBA
Author of:
SQL Server Query Performance Tuning
SQL Server Execution Plans

Product Evangelist for Red Gate Software
Post #1463425
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse