sys.dm_os_memory_brokers (Transact-SQL)

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

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

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

列名

データ型

説明

pool_id

int

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

memory_broker_type

nvarchar(60)

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

説明

MEMORYBROKER_FOR_CACHE

キャッシュされたオブジェクトで使用するために割り当てられたメモリ。

MEMORYBROKER_FOR_STEAL

バッファー プールから盗用されたメモリ。 このメモリは、現在の所有者が解放するまで、他のコンポーネントで再利用できません。

MEMORYBROKER_FOR_RESERVE

現在実行中の要求で将来使用するために予約されているメモリ。

allocations_kb

bigint

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

allocations_kb_per_sec

bigint

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

predicted_allocations_kb

bigint

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

target_allocations_kb

bigint

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

future_allocations_kb

bigint

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

overall_limit_kb

bigint

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

last_notification

nvarchar(60)

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

  • grow

  • shrink

  • stable

権限

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

関連項目

参照

動的管理ビューおよび関数 (Transact-SQL)

SQL Server オペレーティング システム関連の動的管理ビュー (Transact-SQL)