sys.dm_os_process_memory (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 値は許可されません。 注: 割り当て粒度よりも小さい Free リージョンが存在する可能性があります。 これらの領域は割り当てに利用できません。 |
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 SERVER 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)