sys.dm_os_process_memory (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

SQL Server プロセス領域に起因するほとんどのメモリ割り当ては、それらの割り当ての追跡とアカウンティングを可能にするインターフェイスを介して制御されます。 ただし、内部メモリ管理ルーチンをバイパスする SQL Server アドレス空間でメモリ割り当てが実行される場合があります。 値は、ベースとなるオペレーティング システムを通じて取得されます。 ロックまたは大きなページ割り当てを調整する場合を除き、SQL Server 内部のメソッドでは操作されません。

メモリ サイズを示す戻り値はすべてキロバイト (KB (キロバイト)) で表示されます。 列total_virtual_address_space_reserved_kbは、sys.dm_os_sys_infoからのvirtual_memory_in_bytes複製です。

次の表は、プロセス アドレス空間の全体像を表したものです。

Note

これを Azure Synapse Analytics または Analytics Platform System (PDW) から呼び出すには、sys.dm_pdw_nodes_os_process_memoryという名前を使用します。 この構文は、Azure Synapse Analytics のサーバーレス SQL プールでサポートされていません。

列名 データ型 説明
physical_memory_in_use_kb bigint オペレーティング システムから報告されたプロセス ワーキング セットに、ラージ ページ API を使用して追跡された割り当てを加えた値 (KB 単位) を示します。 NULL 値は許可されません。
large_page_allocations_kb bigint 大きなページ API を使用して割り当てられる物理メモリを指定します。 NULL 値は許可されません。
locked_page_allocations_kb bigint メモリ内でロックされているメモリ ページを指定します。 NULL 値は許可されません。
total_virtual_address_space_kb bigint 仮想アドレス空間のユーザー モード部分の合計サイズを示します。 NULL 値は許可されません。
virtual_address_space_reserved_kb bigint プロセスによって予約された仮想アドレス空間の合計量を示します。 NULL 値は許可されません。
virtual_address_space_committed_kb bigint 物理ページにコミットまたはマップされた予約済み仮想アドレス空間の量を示します。 NULL 値は許可されません。
virtual_address_space_available_kb bigint 現在利用可能な仮想アドレス空間の量を示します。 NULL 値は許可されません。

注: 割り当て粒度よりも小さい空きリージョンが存在する可能性があります。 これらの領域は割り当てに利用できません。
page_fault_count bigint SQL Server プロセスによって発生するページ フォールトの数を示します。 NULL 値は許可されません。
memory_utilization_percentage int ワーキング セット内にあるコミット済みメモリの割合を指定します。 NULL 値は許可されません。
available_commit_limit_kb bigint プロセスによってコミットできるメモリの量を示します。 NULL 値は許可されません。
process_physical_memory_low bit プロセスが物理メモリの不足の通知に応答していることを示します。 NULL 値は許可されません。
process_virtual_memory_low bit 仮想メモリの状態が低いことが検出されたことを示します。 NULL 値は許可されません。
pdw_node_id int 適用対象: Azure Synapse Analytics、Analytics Platform System (PDW)

このディストリビューションがオンになっているノードの識別子。

アクセス許可

SQL Server では、サーバーに対する VIEW Standard Edition RVER STATE 権限が必要です。

SQL Server と SQL Managed Instance では、VIEW SERVER STATE アクセス許可が必要です。

SQL Database Basic、S0、S1 サービス目標、およびエラスティック プール内のデータベースの場合、サーバー管理者アカウント、Microsoft Entra 管理者アカウント、またはサーバー ロール##MS_ServerStateReader##メンバーシップが必要です。 他のすべての SQL Database サービス目標では、データベースに対する VIEW DATABASE STATE アクセス許可または ##MS_ServerStateReader## サーバー ロールのメンバーシップのいずれかが必要です。

SQL Server 2022 以降でのアクセス許可

サーバーに対する VIEW SERVER PERFORMANCE STATE アクセス許可が必要です。

関連項目

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