sys.dm_os_process_memory (Transact-SQL)


THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Most memory allocations that are attributed to the SQL Server process space are controlled through interfaces that allow for tracking and accounting of those allocations. However, memory allocations might be performed in the SQL Server address space that bypasses internal memory management routines. Values are obtained through calls to the base operating system. They are not manipulated by methods internal to SQL Server, except when it adjusts for locked or large page allocations.

All returned values that indicate memory sizes are shown in kilobytes (KB). The column total_virtual_address_space_reserved_kb is a duplicate of virtual_memory_in_bytes from sys.dm_os_sys_info.

The following table provides a complete picture of the process address space.

System_CAPS_ICON_note.jpg Note

To call this from Azure SQL Data Warehouse or Parallel Data Warehouse, use the name sys.dm_pdw_nodes_os_process_memory.

Column nameData typeDescription
physical_memory_in_use_kbbigintIndicates the process working set in KB, as reported by operating system, as well as tracked allocations by using large page APIs. Not nullable.
large_page_allocations_kbbigintSpecifies physical memory allocated by using large page APIs. Not nullable.
locked_page_allocations_kbbigintSpecifies memory pages locked in memory. Not nullable.
total_virtual_address_space_kbbigintIndicates the total size of the user mode part of the virtual address space. Not nullable.
virtual_address_space_reserved_kbbigintIndicates the total amount of virtual address space reserved by the process. Not nullable.
virtual_address_space_committed_kbbigintIndicates the amount of reserved virtual address space that has been committed or mapped to physical pages. Not nullable.
virtual_address_space_available_kbbigintIndicates the amount of virtual address space that is currently free. Not nullable.

 Note: Free regions that are smaller than the allocation granularity can exist. These regions are unavailable for allocations.
page_fault_countbigintIndicates the number of page faults that are incurred by the SQL Server process. Not nullable.
memory_utilization_percentageintSpecifies the percentage of committed memory that is in the working set. Not nullable.
available_commit_limit_kbbigintIndicates the amount of memory that is available to be committed by the process. Not nullable.
process_physical_memory_lowbitIndicates that the process is responding to low physical memory notification. Not nullable.
process_virtual_memory_lowbitIndicates that low virtual memory condition has been detected. Not nullable.
pdw_node_idintApplies to: Azure SQL Data Warehouse, Parallel Data Warehouse

The identifier for the node that this distribution is on.

On SQL Server requires VIEW SERVER STATE permission on the server.

On SQL Database Premium Tiers requires the VIEW DATABASE STATE permission in the database. On SQL Database Standard and Basic Tiers requires the SQL Database admin account.

Dynamic Management Views and Functions (Transact-SQL)
SQL Server Operating System Related Dynamic Management Views (Transact-SQL)

Community Additions