| 
	
 | 
 Posted by Erland Sommarskog on 01/02/07 22:54 
SQLJunkie (vsinha73@gmail.com) writes: 
> I have spent a good amount of time scouring google groups but this is 
> all I have found: 
> SELECT 
>      (CAST(@@CPU_BUSY AS float) 
>           * @@TIMETICKS 
>           / 10000.00 
>           / CAST(DATEDIFF (s, SP2.Login_Time, GETDATE()) AS float)) AS 
> CPUBusyPct 
> FROM 
>      master..SysProcesses AS SP2 
> WHERE 
>      SP2.Cmd = 'LAZY WRITER' 
>  
> Problem is this gives me total amount of time CPU in %) has been busy 
> since the server last started. What I want is the % for the instant - 
> the same number we see in Task Manager and PerfMon. 
 
Performance counters are in sysperfinfo on SQL 2000 and  
sys.dm_os_performance_counters on SQL 2005, but I could find the item 
you are looking for in these views. 
 
But I saw in Books Online for SQL 2005 that these values are cumultative. To  
get the present value, sample with some interval. I guess you could to 
the same: query @@CPU_BUSY twice with a second or so in between. 
 
 
 
--  
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se 
 
Books Online for SQL Server 2005 at 
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx 
Books Online for SQL Server 2000 at 
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
 
  
Navigation:
[Reply to this message] 
 |