| title | CPU_BUSY (Transact-SQL) | |||||||
|---|---|---|---|---|---|---|---|---|
| description | @@CPU_BUSY (Transact-SQL) | |||||||
| author | markingmyname | |||||||
| ms.author | maghan | |||||||
| ms.date | 09/18/2017 | |||||||
| ms.service | sql | |||||||
| ms.subservice | t-sql | |||||||
| ms.topic | reference | |||||||
| f1_keywords |
|
|||||||
| helpviewer_keywords |
|
|||||||
| dev_langs |
|
[!INCLUDE SQL Server Azure SQL Managed Instance]
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.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: 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)