sqlserver "server_cpu" CPU usage alarms with % greater than 100%
search cancel

 sqlserver "server_cpu" CPU usage alarms with % greater than 100%

book

Article ID: 272219

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM)

Issue/Introduction

We are interested in monitoring the CPU used by the SQLserver instance. For this, we enabled SQLserver probe Monitor via the checkpoint "server_cpu". 

 "server_cpu" has triggered some alerts for breached threshold of CPU Usage reporting unexpected usages of percentages that are higher than 100%. (while expecting only a range from 0-100%).

 

 

Environment

Release : UIM 20.4, sqlserver probe any version

Cause

The values stored for this monitor are the result of a calculation of values that are taken from the DB with a query and the difference between them taken at every interval.

The KB below describes the calculation: UIM - Checkpoint "server_cpu" calculation in sqlserver probe (broadcom.com)

The probe checkpoint  is not designed to monitor the CPU used by the sqlserver instance as value at a particular time, but it is the result of a formula included in the KB above which takes as a key value the difference between CPU_BUSY (CPU_BUSY (Transact-SQL) - SQL Server | Microsoft Learn) in an interval. If the difference between the last 2 CPU_BUSY values has a drastic increase, as it can be observed in the log level 5, a value higher than 100%. 

Resolution

The probe is essentially working as designed, as the calculation is correct. 

As an alternative solution, you can consider using the processes probe which is able to monitor, at a system level, the CPU used on the system by a particular process, and create an alarm based on a threshold.

Example: 

 

 

Additional Information

Related KB:

Monitor CPU Usage by SQL Server Instance with UIM (broadcom.com)

sqlserver checkpoint "server_cpu" calculation in sqlserver probe (broadcom.com)