The Resource Monitor performs periodic checks and listens to operating system notifications to determine if the memory is low. when a low memory condition is detected, a meesage is logged in the Resource Manager Ring buffer.You can use the information in the ring buffer to troubleshoot memory problems. The Resource Manager also broadcasts low memory messages to the Database Engine, so that all internal SQL Server components can reduce their memory consumption, if necessary.Resource Monitor Notification Example Three parts to each notification ResourceMonitor tag : Contains the Notification type and the indicator. MemoryNode tag : Shows memory node-specific information such as ReservedMemory,CommittedMemory, and sharedmemory, as well a single and mulitple-page allocations MemoryRecord tag : Indicates the amount of memeory available in the operating system and available for the SQL Server process.
The RING_BUFFER_RESOURCE_MONITOR ring buffer provide information from Resource Monitor notifications that helps indentify memory stage changesThe following example shows the contents of a representative record column output from the DMV. It shows a High physical memory notification.select * from sys.dm_os_ring_buffers where ring_buffer_type='RING_BUFFER_RESOURCE_MONITOR'<Record id = "0" type ="RING_BUFFER_RESOURCE_MONITOR" time ="10702364"><ResourceMonitor> <Notification>RESOURCE_MEMPHYSICAL_HIGH</Notification> <IndicatorsProcess>0</IndicatorsProcess> <IndicatorsSystem>1</IndicatorsSystem> <NodeId>0</NodeId></ResourceMonitor><MemoryRecord><MemoryUtilization>100</MemoryUtilization><TotalPhysicalMemory>2088248</TotalPhysicalMemory><AvailablePhysicalMemory>969156</AvailablePhysicalMemory><TotalPageFile>4176496</TotalPageFile><AvailablePageFile>2414732</AvailablePageFile><TotalVirtualAddressSpace>2097024</TotalVirtualAddressSpace><AvailableVirtualAddressSpace>330512</AvailableVirtualAddressSpace><AvailableExtendedVirtualAddressSpace>0</AvailableExtendedVirtualAddressSpace></MemoryRecord></Record>