Resources Pool Memory Consumption (rollup)

Microsoft.SQLServer.Linux.Rollup.Database.MemoryConsumption (DependencyMonitor)

The monitor reports a critical state and raises an alert when the amount of memory used by the resource pool is greater than the Threshold setting, expressed as a percentage of memory available for Memory-Optimized Data tables for the given resource pool. This monitor is a dependency (rollup) monitor.

Knowledge Base article:

Summary

The monitor reports a critical state when the amount of memory used by the resource pool is greater than the Threshold setting, expressed as a percentage of memory available for Memory-Optimized Data tables for the given resource pool. This monitor is a dependency (rollup) monitor.

The named resource pool when mapped to database with memory-optimized tables tracks memory allocated to all memory-optimized tables, including internal tables that are used for various structures within Memory-Optimized Data engine.

Causes

SQL Server Memory-Optimized Data uses more memory and in different ways than SQL Server does. It is possible that the amount of memory you installed and allocated for Memory-Optimized Data becomes inadequate for your growing needs. If so, you could run out of memory.

Resolutions

To resolve your Low Memory or Out Of Memory condition you need to either free up existing memory by reducing usage, or make more memory available to your Memory-Optimized data tables. Possible corrective actions may include:

External

Bind a Database with Memory-Optimized Tables to a Resource Pool

Overridable Parameters

Name

Description

Default Value

Enabled

Enables or disables the workflow.

Yes

Generates Alerts

Defines whether the workflow generates an Alert.

No

Element properties:

TargetMicrosoft.SQLServer.Linux.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.Linux.Monitor.UserResourcePool.MemoryConsumption
RelationshipMicrosoft.SQLServer.Linux.DatabaseReferencesUserResourcePool
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.Linux.Rollup.Database.MemoryConsumption" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SqlDiscL!Microsoft.SQLServer.Linux.DatabaseReferencesUserResourcePool" MemberMonitor="Microsoft.SQLServer.Linux.Monitor.UserResourcePool.MemoryConsumption">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>