thinkbot
asked on
System\Context Switches/Sec on windows server 2008 r2 with ms sql server
Hello,
Server:
Windows Server 2008 R2 with MS SQL server 2008 R2 installed on it. 16GB RAM and 8 Cores. Machine is virtual and is running on VMware ESXi 5.5 version.
Problem:
Our monitoring software send us alerts saying:
"System\Context Switches/Sec 10677 is over threshold value 8000"
Question:
What we can check to find who is causing this? What settings we could change? Or is normal thing and we should just ignore it.
Thanks,
Tadas
Server:
Windows Server 2008 R2 with MS SQL server 2008 R2 installed on it. 16GB RAM and 8 Cores. Machine is virtual and is running on VMware ESXi 5.5 version.
Problem:
Our monitoring software send us alerts saying:
"System\Context Switches/Sec 10677 is over threshold value 8000"
Question:
What we can check to find who is causing this? What settings we could change? Or is normal thing and we should just ignore it.
Thanks,
Tadas
Is your CPU on that VM constantly high? then I would look deeper into that but if it's not then just raise the threshold in your monitoring tool.
"Understanding Context Switching"
http://technet.microsoft.com/en-us/library/ms191296(v=sql.105).aspx
"Performance impact: driving up context switches/sec"
http://sqlblog.com/blogs/linchi_shea/archive/2012/01/12/performance-impact-driving-up-context-switches-sec.aspx
"Understanding Context Switching"
http://technet.microsoft.com/en-us/library/ms191296(v=sql.105).aspx
"Performance impact: driving up context switches/sec"
http://sqlblog.com/blogs/linchi_shea/archive/2012/01/12/performance-impact-driving-up-context-switches-sec.aspx
ASKER
Padawan, thank you for suggestion, will give it a try, although the same happens on SQL server which is not in use (please see bellow).
Notifications/alerts are coming from a separate monitoring system (NetCrunch). The thing is that we are observing this on all SQL servers that we have (i.e. higher values of context switching). Even on the server which is a test server and doesn't have any databases which would be in use - it still generates quite high values of context switching.
Icohan, thank you for the links. CPU load is averaging at about 10% on test SQL server VM. Context Switch delta (as observed via Process Explorer) is highest on two processes: Interupts (2000 - 3000) and System Idle Process (2000 - 10000).
Notifications/alerts are coming from a separate monitoring system (NetCrunch). The thing is that we are observing this on all SQL servers that we have (i.e. higher values of context switching). Even on the server which is a test server and doesn't have any databases which would be in use - it still generates quite high values of context switching.
Icohan, thank you for the links. CPU load is averaging at about 10% on test SQL server VM. Context Switch delta (as observed via Process Explorer) is highest on two processes: Interupts (2000 - 3000) and System Idle Process (2000 - 10000).
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Because there was no good answer for me.
Open in new window
That's going to give you a lot of columns back for results, you can pick and choose what you want, but it will attempt to give you the text of the executing query that has large amount of context switches on each session thread. Context switches are a tricky little thing, however. What they are, is when the kernel switches the processor from one thread to another. This is going to occur. I would usually combine context switching with other metrics (ie. CPU Utilization, etc). Is this alarm coming from the sql server or the esx host ?
Also, take a look at the context switching category of this fellow: http://www.sqlserverfaq.ne