Server has high processor queue - how to find out which process is using the cpu

Hi,

i get every few hours a ticket of one Server. It sais, that the cpu has a very large Queue. Everytime i look on the machine, th cpu is used at 10% (approx.). How can i find out, which Programm takes all the cpu from time to time.
I am using gfi max to Monitor the Server (this generates those tickets).
Server is Server 2008 (SQL on it) fully patched.


Any idea ?

Thanks in advance.

loosain
loosainAsked:
Who is Participating?
 
Hassan BesherConnect With a Mentor Commented:
The CPU - Processor Queue Length alarm becomes active when the number of Windows threads waiting for CPU resources exceeds a threshold. Sustained high processor queue length is a good indicator that you have a CPU bottleneck.
Note that since this is a Windows-based alarm, it can include CPU that was consumed by non-SQL Server processes.
Tip: If you are running the Spotlight Diagnostic Server on the same machine you are monitoring, the Processor Queue Length shown here can be artificially high, especially on single processor machines. Since Spotlight on SQL Server is a multi-threaded application, the process of running its data collection queries causes extra Spotlight client threads to be scheduled for execution, resulting in a higher than normal Processor Queue Length figure and the raising of this alarm.

When this alarm is current, you should:
In Spotlight on Windows, look at the Processor Queue Length chart on the Windows Summary page of the Windows Activity drilldown. This will show you how long the Processor Queue Length has been high.
In Spotlight on Windows, look at the Processes page on the Processes drilldown to see which Windows process is consuming the CPU. SQL Server is shown as the process called sqlservr.
Look at the Summary page on the SQL Activity drilldown to determine how much of the CPU is being consumed by SQL Server.
If you determine from the steps above that SQL Server is consuming most of the CPU, look at the Sessions tab on the SQL Activity drilldown to see which SQL Server users are currently executing SQL, and to determine the exact SQL that is running. If necessary, use the Session Trace sub-tab on active sessions.
On the Sessions page, select the sessions that have the highest CPU figure to see the exact SQL statement that the user is currently running. If necessary, use the Session Trace sub-tab to see further information about the active sessions.
Consider upgrading to a faster CPU or adding processors to your server.
If SQL Server is consuming most of the CPU and your system supports many concurrent users, you might benefit from SQL Server's lightweight pooling option, which causes SQL Server sessions to be scheduled as fibers rather than threads. On some heavily-loaded systems, this can save a small amount of CPU. Ensure you test this properly, because on some systems it can actually increase SQL Server's CPU demands.
This option can be changed by using the Configuration drilldown. Changes to this option do not take effect until the SQL Server instance is stopped and restarted.
0
 
lcohanConnect With a Mentor Database AnalystCommented:
I suggest you install and use SQL own Performance Dashboard Reports that can take you to the exact query(ies) or missing index(es) that are causing high CPU utilizations.
We use it and trust it on ALL our SQL PROD servers since it came out on SQL 2005.

Performance Dashboard

http://blogs.technet.com/b/rob/archive/2009/02/18/performance-dashboard-reports-for-sql-server-2008.aspx
http://blogs.msdn.com/b/sqlserverfaq/archive/2010/05/27/sql-server-performance-dashboard-reports-in-ssms-introduction-install-datediff-error-amp-modified-for-sql-2008.aspx
http://blogs.msdn.com/b/arvindsh/archive/2010/06/25/performance-dashboard-reports-in-sql-server-2008.aspx
0
 
loosainAuthor Commented:
Thanks, interesting and helpful
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.