資源集區記憶體消耗 (彙總)

Microsoft.SQLServer.2016.DependencyMonitor.Database.MemoryConsumptionRollUp (DependencyMonitor)

資源集區使用的記憶體數量大於臨界值設定 (以指定的資源集區記憶體最佳化資料的資料表之可用記憶體百分比表示) 時,此監視器會回報重大狀態,並引發警示。此監視器是相依性 (積存) 監視器。

Knowledge Base article:

摘要

資源集區使用的記憶體數量大於臨界值設定 (以指定的資源集區記憶體最佳化資料的資料表可用記憶體百分比表示) 時,此監視器會回報重大狀態。此監視器是相依性 (積存) 監視器。

對應至記憶體最佳化資料庫的具名資源集區,會追蹤配置給所有記憶體最佳化資料表的記憶體,包括用於記憶體最佳化資料引擎內各種結構的內部資料表。

原因

SQL Server 記憶體最佳化資料所使用的記憶體比 SQL Server 多,而且使用方法也不同。為記憶體最佳化資料所安裝及配置的記憶體數量,可能會變得無法滿足成長需求。如果發生這種情況,可能會用盡記憶體。

如需詳細資料,請參閱本文: Bind a Database with Memory-Optimized Tables to a Resource Pool (將含記憶體最佳化資料表的資料庫繫結至資源集區)

解決方式

若要解決記憶體太少或記憶體不足的情況,您需要降低使用量來釋出現有記憶體,或是為記憶體最佳化資料的資料表提供更多記憶體。可能的更正動作包括:

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

產生警示

定義工作流程是否會產生警示。

Element properties:

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

Source Code:

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