Monday, March 26, 2012

Produciton SQL CPU running around 50%

Our production SQL Server's CPU runs continuously at about
50%. Below is a copy of the running Process threads, taken
from SQL Spotlight. Can anyone help identify the
bottleneck and give recommendations for improvement
(besides improving queries)? Your help is greatly
appreciated!
InstanceThread ID% CPU% User% Kernel
Elapsed timeSwitches/secThread State
Thread Wait Reason
5268104.650106.3219d 10hrs207
921.65WaitingWaiting for a user request
0052.92052.92147417d 19hrs
807.51Running-
1050.18050.18147417d 19hrs
471.7Running-
3048.15048.15147417d 19hrs
495.51Running-
627240.76042.9119d 10hrs0
WaitingWaiting for a user request
2036.47036.47147417d 19hrs
710.07Running-
15102683594.66405.723188.949d
20hrs215661.8WaitingWaiting for a user
request
53441.910.361.5519d 10hrs1
134.55WaitingWaiting for a user request
12521906.93335.881571.0519d
10hrs229163.43WaitingWaiting for an LPC
Receive notice
42041830.41266.391564.0119d
10hrs133979.34WaitingWaiting for an LPC
Receive notice
84881810.26278.071532.1919d
10hrs0WaitingWaiting for an LPC Receive
notice
1141961683.68288.321395.3617d
17hrs197806.72WaitingWaiting for an LPC
Receive notice
1214081612.76281.77133117d
17hrs163851.13WaitingWaiting for an LPC
Receive notice
1342641596.43286.411310.0217d
17hrs135660.06WaitingWaiting for an LPC
Receive notice
0115840.790.7901d 6hrs
20.82WaitingWaiting for a user request
42760.3600.3619d 10hrs
58.45WaitingWaiting for a user request
32280.1200.1219d 10hrs9
WaitingWaiting for an LPC Receive notice
1027560.1200.1219d 8hrs
2.67WaitingWaiting for a user request
However, low CPU usage can be because the machine is waiting for I/O requests a lot. Tuning the
queries, by for instance adding indexes so less I/O is used can be a real benefit in these cases.
Tibor Karaszi, SQL Server MVP
http://www.karaszi.com/sqlserver/default.asp
http://www.solidqualitylearning.com/
"James" <anonymous@.discussions.microsoft.com> wrote in message
news:6e2901c48392$136f9480$a401280a@.phx.gbl...[vbcol=seagreen]
> Come and check ours. It is running at 90% most of the time.
> CPU usage depends on the transactions occuring in the
> Server (Unless there are other applications running on the
> server). I wouldn't be too concern about it at 50%. If you
> are, use the SQL Profiler to find out what processes using
> the most CPU usage(the number on Profiler is in
> miliseconds).
>
> about
> taken

No comments:

Post a Comment