| title | @@CPU_BUSY (Transact-SQL) | Microsoft Docs | |||||||
|---|---|---|---|---|---|---|---|---|
| ms.custom | ||||||||
| ms.date | 09/18/2017 | |||||||
| ms.prod | sql | |||||||
| ms.prod_service | sql-database | |||||||
| ms.reviewer | ||||||||
| ms.technology | t-sql | |||||||
| ms.topic | language-reference | |||||||
| f1_keywords |
|
|||||||
| dev_langs |
|
|||||||
| helpviewer_keywords |
|
|||||||
| ms.assetid | 81ae0e64-79fa-4a74-9aa5-37045c4cd211 | |||||||
| author | MikeRayMSFT | |||||||
| ms.author | mikeray |
[!INCLUDEtsql-appliesto-ss2008-xxxx-xxxx-xxx-md]
This function returns the amount of time that [!INCLUDEssNoVersion] has spent in active operation since its latest start. @@CPU_BUSY returns a result measured in CPU time increments, or "ticks." This value is cumulative for all CPUs, so it may exceed the actual elapsed time. To convert to microseconds, multiply by @@TIMETICKS.
Note
If the time returned in @@CPU_BUSY or @@IO_BUSY exceeds 49 days (approximately) of cumulative CPU time, you may receive an arithmetic overflow warning. In that case, the value of the @@CPU_BUSY, @@IO_BUSY and @@IDLE variables are not accurate.
Transact-SQL Syntax Conventions
@@CPU_BUSY
integer
To see a report containing several [!INCLUDEssNoVersion] statistics, including CPU activity, run sp_monitor.
This example returns [!INCLUDEssNoVersion] CPU activity, as of the current date and time. The example converts one of the values to the float data type. This avoids arithmetic overflow issues when calculating a value in microseconds.
SELECT @@CPU_BUSY * CAST(@@TIMETICKS AS float) AS 'CPU microseconds',
GETDATE() AS 'As of' ; [!INCLUDEssResult]
CPU microseconds As of
---------------- -----------------------
18406250 2006-12-05 17:00:50.600
sys.dm_os_sys_info (Transact-SQL)
@@IDLE (Transact-SQL)
@@IO_BUSY (Transact-SQL)
sp_monitor (Transact-SQL)
System Statistical Functions (Transact-SQL)