sys.dm_os_memory_brokers (Transact-SQL)

SQL Server の内部的なメモリ割り当てには、SQL Server メモリ マネージャが使用されます。sys.dm_os_process_memory カウンタと内部カウンタから、プロセス メモリ カウンタ間の差を追跡することにより、SQL Server のメモリ領域における外部コンポーネントのメモリ使用状況を把握できます。

メモリ ブローカは、現在の使用状況および予測される使用状況に基づいて、SQL Server 内のさまざまなコンポーネント間にメモリ割り当てを適切に配分します。メモリ ブローカは割り当てを実行しません。配分を計算するために割り当てを追跡するだけです。

次の表は、メモリ ブローカに関する情報を示しています。

列名

データ型

説明

memory_broker_type

nvarchar(60)

メモリ ブローカの種類。現在、SQL Server には 3 種類のメモリ ブローカがあります。

値説明
MEMORYBROKER_FOR_CACHEキャッシュされたオブジェクトで使用するために割り当てられたメモリ。
MEMORYBROKER_FOR_STEALバッファ プールから盗用されたメモリ。このメモリは、現在の所有者が解放するまで、他のコンポーネントで再利用できません。
MEMORYBROKER_FOR_RESERVE現在実行中の要求で将来使用するために予約されているメモリ。

allocations_kb

bigint

この種類のブローカに割り当てられたメモリ量 (KB 単位)。

allocations_per_sec

int

このブローカに起因する現在の割り当て率。

target_allocations_kb

bigint

推奨されるメモリ割り当て量 (KB 単位)。現在の設定とメモリの使用パターンに基づいて決定されます。このブローカは、この数値まで割り当てを増加または減少させる必要があります。

future_allocations_kb

bigint

次の数秒間に行われると予想される割り当て数 (KB 単位)。

last_notification

nvarchar(60)

メモリ使用量の推奨値。現在の設定と使用パターンに基づいて決定されます。有効な値は次のとおりです。

  • grow

  • shrink

  • stable

pool_id

int

リソース ガバナ プールに関連付けられているリソース プールの ID。

allocations_kb_per_sec

bigint

1 秒あたりのメモリ割り当て率 (KB 単位)。メモリの割り当て解除の場合、この値は負になることがあります。

predicated_allocations_kb

bigint

ブローカによるメモリの予想割り当て量。メモリ使用パターンに基づいて決定されます。

overall_limit_kb

bigint

ブローカが割り当てることができる最大メモリ容量 (KB 単位)。

権限

サーバーに対する VIEW SERVER STATE 権限が必要です。