sys.dm_os_sys_memory (Transact-SQL)

Applies to: SQL Server Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Returns memory information from the operating system.

SQL Server is bounded by, and responds to, external memory conditions at the operating system level and the physical limits of the underlying hardware. Determining the overall system state is an important part of evaluating SQL Server memory usage.

Note

To call this from Azure Synapse Analytics or Analytics Platform System (PDW), use the name sys.dm_pdw_nodes_os_sys_memory. This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.

Column name Data type Description
total_physical_memory_kb bigint Total size of physical memory available to the operating system, in kilobytes (KB).
available_physical_memory_kb bigint Size of physical memory available, in KB.
total_page_file_kb bigint Size of the commit limit reported by the operating system in KB
available_page_file_kb bigint Total amount of page file that is not being used, in KB.
system_cache_kb bigint Total amount of system cache memory, in KB.
kernel_paged_pool_kb bigint Total amount of the paged kernel pool, in KB.
kernel_nonpaged_pool_kb bigint Total amount of the nonpaged kernel pool, in KB.
system_high_memory_signal_state bit State of the system high memory resource notification. A value of 1 indicates the high memory signal has been set by Windows. For more information, see CreateMemoryResourceNotification in the MSDN library.
system_low_memory_signal_state bit State of the system low memory resource notification. A value of 1 indicates the low memory signal has been set by Windows. For more information, see CreateMemoryResourceNotification in the MSDN library.
system_memory_state_desc nvarchar(256) Description of the memory state. See the table below.
pdw_node_id int Applies to: Azure Synapse Analytics, Analytics Platform System (PDW)

The identifier for the node that this distribution is on.
Condition Value
system_high_memory_signal_state = 1

and

system_low_memory_signal_state = 0
Available physical memory is high
system_high_memory_signal_state = 0

and

system_low_memory_signal_state = 1
Available physical memory is low
system_high_memory_signal_state = 0

and

system_low_memory_signal_state = 0
Physical memory usage is steady
system_high_memory_signal_state = 1

and

system_low_memory_signal_state = 1
Physical memory state is transitioning

The high and low signal should never be on at the same time. However, rapid changes at the operating system level can cause both values to appear to be on to a user mode application. The appearance of both signals being on will be interpreted as a transition state.

Permissions

Requires VIEW SERVER STATE permission on the server.

Permissions for SQL Server 2022 and later

Requires VIEW SERVER PERFORMANCE STATE permission on the server.

See also

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