CPU Usage Information in SQL Server
Hello everyone,
In this article, I will try to give information about CPU usage information in SQL Server.
In SQL Server, you may want to see CPU usage information in some cases.
You can easily do this using the code below.
DECLARE @ms_ticks_now BIGINT;
SELECT @ms_ticks_now = ms_ticks
FROM sys.dm_os_sys_info;
SELECT --TOP 60
record_id,
DATEADD(ms, -1 * (@ms_ticks_now - [timestamp]), GETDATE()) AS EventTime,
SQLProcessUtilization,
SystemIdle,
100 - SystemIdle - SQLProcessUtilization AS OtherProcessUtilization
FROM
(
SELECT record.value('(./Record/@id)[1]', 'int') AS record_id,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle)[1]', 'int') AS SystemIdle,
record.value('(./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization)[1]', 'int') AS SQLProcessUtilization,
timestamp
FROM
(
SELECT timestamp,
CONVERT(XML, record) AS record
FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
AND record LIKE '%<SystemHealth>%'
) AS x
) AS y
ORDER BY record_id DESC;
Good luck to everyone in business and life.