SQL Server: Memory Manager オブジェクト

Microsoft SQL Server の Memory Manager オブジェクトには、全体的なサーバー メモリの使用状況を監視するためのカウンタが用意されています。全体的なサーバー メモリの使用状況を監視して、ユーザーの利用状況やリソースの使用状況を計測すると、パフォーマンスのボトルネックを突き止めるのに役立つ可能性があります。SQL Server のインスタンスで使用されるメモリを監視すると、次のことを判断する際に役立ちます。

  • ボトルネックの発生原因が、頻繁にアクセスされるデータをキャッシュに格納するための物理メモリ不足によるものかどうか。メモリが不足している場合、SQL Server ではディスクからデータを取得する必要があります。

  • メモリを増設したり、データ キャッシュや SQL Server の内部構造により多くのメモリを使用できるように設定することで、クエリのパフォーマンスを向上できるかどうか。

次の表では、SQL ServerMemory Manager カウンタについて説明します。

SQL Server Memory Manager カウンタ

説明

Connection Memory (KB)

接続を維持するためにサーバーが使用している動的メモリの合計サイズ。

Granted Workspace Memory (KB)

ハッシュ、並べ替え、一括コピー、およびインデックス作成などの操作を実行しているプロセスに現在割り当てられているメモリの合計サイズ。

Lock Blocks

サーバーで使用中のロック ブロックの現在数。定期的に更新されます。ロック ブロックは、テーブル、ページ、行など、ロックされている個々のリソースを表します。

Lock Blocks Allocated

割り当て済みのロック ブロックの現在数。サーバー起動時に割り当てられるロック ブロック数と、割り当てられるロック所有者ブロックの数は、SQL ServerLocks 構成オプションによって決まります。より多くのロック ブロックが必要な場合は、値が大きくなります。

Lock Memory (KB)

ロックのためにサーバーが使用している動的メモリの合計サイズ。

Lock Owner Blocks

サーバーで使用中のロック所有者ブロックの現在数。定期的に更新されます。ロック所有者ブロックは、各スレッドがオブジェクトに設定したロックの所有権を表します。たとえば、3 つのスレッドがそれぞれ、ページに共有 (S) ロックを所有している場合は、3 つのロック所有者ブロックがあります。

Lock Owner Blocks Allocated

現在割り当てられているロック所有者ブロックの数。サーバー起動時に割り当てられるロック所有者ブロック数と、割り当てられるロック ブロック数は、SQL ServerLocks 構成オプションによって決まります。より多くのロック所有者ブロックが必要な場合は、値が動的に大きくなります。

Maximum Workspace Memory (KB)

ハッシュ、並べ替え、一括コピー、およびインデックス作成などの操作を実行しているプロセスが使用できるメモリの最大サイズ。

Memory Grants Outstanding

ワークスペース メモリを取得できたプロセスの総数。

Memory Grants Pending

ワークスペース メモリ許可を待機しているプロセスの総数。

Optimizer Memory (KB)

サーバーがクエリの最適化のために使用している動的メモリの合計サイズ。

SQL Cache Memory (KB)

サーバーが動的 SQL キャッシュのために使用している動的メモリの合計サイズ。

Target Server Memory (KB)

サーバーが使用できる動的メモリの合計サイズ。

Total Server Memory (KB)

バッファ プールからコミットされたメモリ (KB)。

注意
これは、SQL Server によって使用されるメモリの総量ではありません。