Sql-server – High memory usage due to RING_BUFFER

cpuperformancesql server

I have a server that is churning up the CPU using 60% to 80% constantly. Using a tool from Brent Ozar's First Responder Kit, it shows RING_BUFFER_SCHEDULER_MONITOR is the culprit. What is this, and how can I track down what is doing this?

60%. Ring buffer details: <Record id="3592" type="RING_BUFFER_SCHEDULER_MONITOR" time="215993000"><SchedulerMonitorEvent><SystemHealth><ProcessUtilization>57</ProcessUtilization><SystemIdle>40</SystemIdle><UserModeTime>2748425618</UserModeTime><KernelModeTime>27144174</KernelModeTime><PageFaults>986</PageFaults><WorkingSetDelta>94208</WorkingSetDelta><MemoryUtilization>100</MemoryUtilization></SystemHealth></SchedulerMonitorEvent></Record>

Best Answer

Well, no, not exactly. My fault for not making the wording on that a little better.

You're using sp_BlitzFirst, and here's something similar to what you're seeing:

enter image description here

It's reporting CPU usage and where I found it in the DMVs - the ring buffer. The ring buffer isn't CAUSING the high CPU use.

To find queries doing high CPU use, use sp_BlitzCache @SortOrder = 'cpu'.

For more details, check out this post from Microsoft's Premier Field Engineering team on using ring buffers to track CPU usage inside SQL Server.