次の方法で共有


sys.dm_os_memory_objects (Transact-SQL)

SQL Server によって現在割り当てられているメモリ オブジェクトを返します。sys.dm_os_memory_objects は、主にメモリ使用状況を分析し、メモリ リークを調べるときに使用できます。

列名

データ型

説明

memory_object_address

varbinary(8)

メモリ オブジェクトのアドレス。 NULL 値は許可されません。

parent_address

varbinary(8)

親メモリ オブジェクトのアドレス。 NULL 値は許可されます。

pages_in_bytes

bigint

メモリ オブジェクトのインスタンスによって割り当てられるメモリの量 (バイト単位)。 NULL 値は許可されません。

creation_options

int

内部使用のみ。 NULL 値は許可されます。

bytes_used

bigint

内部使用のみ。 NULL 値は許可されます。

nvarchar(60)

メモリ オブジェクトの種類。

メモリ オブジェクトが属するコンポーネント、またはメモリ オブジェクトの機能を示します。 NULL 値が許可されます。

name

varchar(128)

内部使用のみ。 NULL 値は許可されます。

memory_node_id

smallint

メモリ オブジェクトが使用しているメモリ ノードの ID。 NULL 値は許可されません。

creation_time

datetime

内部使用のみ。 NULL 値は許可されます。

page_size_in_bytes

int

メモリ オブジェクトによって割り当てられているのページのサイズ (バイト単位)。 NULL 値は許可されません。

max_pages_in_bytes

bigint

メモリ オブジェクトによって使用されるメモリの最大量。 NULL 値は許可されません。

page_allocator_address

varbinary(8)

ページ アロケーターのメモリ アドレス。 NULL 値は許可されません。 詳細については、「sys.dm_os_memory_clerks (Transact-SQL)」を参照してください。

creation_stack_address

varbinary(8)

内部使用のみ。 NULL 値は許可されます。

sequence_num

int

内部使用のみ。 NULL 値は許可されます。

権限

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

説明

メモリ オブジェクトはヒープであり、 割り当ての粒度はメモリ クラークよりも細かくなります。 SQL Server コンポーネントでは、メモリ クラークの代わりにメモリ オブジェクトが使用されます。 メモリ オブジェクトでは、ページの割り当てにメモリ クラークのページ アロケーター インターフェイスが使用されます。 仮想または共有メモリ インターフェイスは使用されません。 割り当てパターンに応じて、コンポーネントでは各種メモリ オブジェクトを作成し、任意のサイズの領域を割り当てることができます。

メモリ オブジェクトの通常のページ サイズは 8 KB ですが、 増分メモリ オブジェクトのページ サイズは 512 バイトから 8 KB の範囲が可能です。

注意

ページ サイズは最大割り当てではなく、 メモリ クラークによって実装されたページ アロケーターでサポートされている割り当ての粒度です。 メモリ オブジェクトから、8 KB を超える割り当てを要求することができます。

互換性サポート

SQL Server 2012 では、以下の列の名前が変更されました。

以前の列名

新しい列名

pages_allocated_count

pages_in_bytes

max_pages_allocated_count

max_pages_in_bytes

使用例

次の例では、それぞれのメモリ オブジェクトの種類によって割り当てられたメモリのサイズを返します。

SELECT SUM (pages_in_bytes) as 'Bytes Used', type 
FROM sys.dm_os_memory_objects
GROUP BY type 
ORDER BY 'Bytes Used' DESC;
GO

関連項目

参照

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

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

sys.dm_os_memory_clerks (Transact-SQL)