SQL Server の Memory Manager オブジェクト

適用対象:SQL Server

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

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

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

メモリ マネージャー カウンター

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

SQL Server Memory Manager カウンター 説明
接続メモリ(KB) 接続を維持するためにサーバーが使用している動的メモリの合計サイズを指定します。
データベースキャッシュメモリ(KB) サーバーがデータベース ページ キャッシュに現在使用しているメモリの量を指定します。
メモリの外部の利点 特定のキャッシュにメモリを追加することで得られるパフォーマンス上の利点の内部推定値です。 この値は、キャッシュ間のメモリ使用量を均衡化するためにエンジンによって使用されます。また、予期しないキャッシュの増大が発生したケースをトラブルシューティングする際のサポートにも有用です。 値は内部計算に基づき整数として表示されます。
フリーメモリ(KB) サーバーによって使用されていないコミット済みのメモリの量を指定します。
付与されたワークスペースメモリ(KB) ハッシュ、並べ替え、一括コピー、インデックス作成などの操作を実行しているプロセスに現在割り当てられているメモリの合計サイズを指定します。
閘門ブロック サーバーで使用中のロック ブロックの現在数 (定期的に更新されます) を指定します。 ロック ブロックは、テーブル、ページ、行など、ロックされている個々のリソースを表します。
割り当てられたロックブロック 現在割り当てられているロック ブロック数を指定します。 サーバー起動時に割り当てられるロック ブロック数と、割り当てられるロック所有者ブロックの数は、SQL Server の Locks 構成オプションによって決まります。 より多くのロック ブロックが必要な場合は、値が大きくなります。
ロックメモリ(KB) ロックのためにサーバーが使用している動的メモリの合計サイズを指定します。
閘門所有者ブロック サーバーで使用中のロック所有者ブロックの現在数 (定期的に更新されます) を指定します。 ロック所有者ブロックは、各スレッドがオブジェクトに設定したロックの所有権を表します。 たとえば、3 つのスレッドがそれぞれ、ページに共有 (S) ロックを所有している場合は、3 つのロック所有者ブロックがあります。
割り当てられた閘門所有者ブロック 現在割り当てられているロック所有者ブロック数を指定します。 サーバー起動時に割り当てられるロック所有者ブロック数と、割り当てられるロック ブロック数は、SQL Server の Locks 構成オプションによって決まります。 より多くのロック所有者ブロックが必要な場合は、値が動的に大きくなります。
ログプールメモリ(KB) サーバーがログ プールに使用している動的メモリの総容量。
最大ワークスペースメモリ(KB) ハッシュ、並べ替え、一括コピー、インデックス作成などの操作を実行しているプロセスが使用できるメモリの最大サイズを示します。
記憶助成 卓越 ワークスペース メモリを取得できたプロセスの総数を指定します。
記憶付与の保留中 ワークスペース メモリ許可を待機しているプロセスの総数を指定します。
最適化メモリ(KB) サーバーがクエリの最適化のために使用している動的メモリの合計サイズを指定します。
予約サーバーメモリ(KB) 将来の使用のためにサーバーが予約しているメモリの量を示します。 このカウンターは、 [Granted Workspace Memory (KB)]に表示される、最初に許可された現在の未使用メモリ量を示します。
SQLキャッシュメモリ(KB) サーバーが動的 SQL キャッシュのために使用している動的メモリの合計サイズを指定します。
盗まれたサーバーメモリ(KB) サーバーがデータベース ページ以外に使用しているメモリの量を指定します。
ターゲットサーバーメモリ(KB) サーバーが使用できるメモリの最適な量を示します。
総サーバーメモリ(KB) Memory Manager を使用してサーバーがコミットしたメモリの量を指定します。

sys.dm_os_performance_counters の動的管理ビューで次の T-SQL クエリを使用して、このオブジェクトのクエリ パフォーマンス カウンターの確認を開始します。

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Memory Manager%';