共用方式為


sys.dm_os_memory_brokers (Transact-SQL)

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

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

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

資料行名稱

資料類型

描述

pool_id

int

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

memory_broker_type

nvarchar(60)

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

說明

MEMORYBROKER_FOR_CACHE

為了讓快取物件使用所配置的記憶體。

MEMORYBROKER_FOR_STEAL

從緩衝集區奪取的記憶體。 在目前的擁有者釋放這種記憶體前,其他元件無法重複使用它。

MEMORYBROKER_FOR_RESERVE

保留給目前執行之要求日後使用的記憶體。

allocations_kb

bigint

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

allocations_kb_per_sec

bigint

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

predicted_allocations_kb

bigint

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

target_allocations_kb

bigint

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

future_allocations_kb

bigint

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

overall_limit_kb

bigint

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

last_notification

nvarchar(60)

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

  • grow

  • shrink

  • stable

權限

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

請參閱

參考

動態管理檢視和函數 (Transact-SQL)

SQL Server 作業系統相關的動態管理檢視 (Transact-SQL)