Share via


sys.dm_os_memory_brokers (Transact-SQL)

SQL Server 內部的配置會使用 SQL Server 記憶體管理員。追蹤 sys.dm_os_process_memory 的處理序記憶體計數器與內部計數器之間的差異可以指出 SQL Server 記憶體空間中外部元件的記憶體使用量。

記憶體 Broker 會根據目前的使用量和預計的使用量,在 SQL Server 的各種元件之間,公平地散發記憶體配置。記憶體 Broker 不會執行配置。它們只會追蹤配置來計算散發。

下表提供有關記憶體 Broker 的資訊。

資料行名稱

資料類型

描述

memory_broker_type

nvarchar(60)

記憶體 Broker 的類型。SQL Server 目前有三種記憶體 Broker。

值描述
MEMORYBROKER_FOR_CACHE為了讓快取物件使用所配置的記憶體。
MEMORYBROKER_FOR_STEAL從緩衝集區奪取的記憶體。在目前的擁有者釋放這種記憶體前,其他元件無法重複使用它。
MEMORYBROKER_FOR_RESERVE保留給目前執行之要求日後使用的記憶體。

allocations_kb

bigint

已經配置給此類型 Broker 的記憶體數量 (以 KB 為單位)。

allocations_per_sec

int

歸屬於此 Broker 的目前配置率。

target_allocations_kb

bigint

根據目前的設定與記憶體使用率模式所建議的配置記憶體數量 (以 KB 為單位)。此 Broker 應該成長或壓縮到這個數量。

future_allocations_kb

bigint

將會在下幾秒鐘內完成的預計配置數量 (以 KB 為單位)。

last_notification

nvarchar(60)

根據目前的設定與使用量模式所建議的記憶體使用量。下列是有效值:

  • grow

  • shrink

  • stable

pool_id

int

如果與資源管理員集區相關聯,則是資源集區的識別碼。

allocations_kb_per_sec

bigint

每秒的記憶體配置率 (以 KB 為單位)。對於記憶體取消配置,這個值可以是負值。

predicated_allocations_kb

bigint

預測 Broker 所配置的記憶體數量。這是以記憶體使用量模式為基礎。

overall_limit_kb

bigint

Broker 可以配置的最大記憶體數量 (以 KB 為單位)。

權限

需要伺服器的 VIEW SERVER STATE 權限。