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) |
メモリ使用量の推奨値。現在の設定と使用パターンに基づいて決定されます。有効な値は次のとおりです。
|
pool_id |
int |
リソース ガバナ プールに関連付けられているリソース プールの ID。 |
allocations_kb_per_sec |
bigint |
1 秒あたりのメモリ割り当て率 (KB 単位)。メモリの割り当て解除の場合、この値は負になることがあります。 |
predicated_allocations_kb |
bigint |
ブローカによるメモリの予想割り当て量。メモリ使用パターンに基づいて決定されます。 |
overall_limit_kb |
bigint |
ブローカが割り当てることができる最大メモリ容量 (KB 単位)。 |
権限
サーバーに対する VIEW SERVER STATE 権限が必要です。