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

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

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

Knowledge Base article:

摘要

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

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

原因

SQL Server 記憶體內 OLTP 所使用的記憶體比 SQL Server 多,而且方法也與它不同。為記憶體內 OLTP 所安裝及配置的記憶體數量,可能變得無法滿足成長需求。如果是這樣,可能會用盡記憶體。

如需詳細資訊,請參閱本文: 將含記憶體最佳化資料表的資料庫繫結至資源集區

解決方式

為解決記憶體太低或記憶體不足的情況,您需要透過降低使用率來釋出現有記憶體,或提供更多記憶體給記憶體內資料表使用。可能的更正動作包括:

可覆寫的參數

名稱

描述

預設值

已啟用

 

產生警示

 

Element properties:

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

Source Code:

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