The VM CPU Usage (Percent) alert provides the percentage of available virtual CPU time used by the virtual machine hosting the monitored SQL Server. This may differ from the processor utilization percentage reported by the guest OS. The percentage of processor usage is listed under the control. A high percentage could indicate a large number of active client sessions. This alert is disabled by default and is available only on instances hosted on virtual machines that are enabled for VM monitoring.
Reduce the percentage of available virtual CPU time used by your VM
Consistently high SQL Server processor usage could indicate the need to:
- Reduce the number of SQL re-compilations as they are CPU intensive. There are many reasons that an object such as a stored procedure is recompiled and you can remove most of these reasons by careful coding.
- Make sure that all T-SQL statements (whether in a stored procedure, trigger or ad hoc statement) that reference objects fully qualify the object referenced.
SELECT * FROM Northwind.dbo Employees is a fully-qualified object reference whereas
SELECT * FROM Employees is a poorly-qualified object. You can reuse the execution plans of fully-qualified objects "as is," whereas plans where you either cannot reuse the not fully-qualified objects or, if they are reused, then they are subject to a highly restrictive
COMPILE lock while SQL Server determines if all of the objects referenced in the T-SQL code have the same owners as the execution plan currently in cache. Both of these situations consume a significant amount of CPU time.
To enable alerting when this metric is outside its established baseline, click the Baseline Thresholds Enabled (as percentage of baseline) check box in the Alert Configuration window.