sys.dm_resource_governor_resource_pools (Transact-SQL)
Applies to: SQL Server (all supported versions)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Parallel Data Warehouse
Returns information about the current resource pool state, the current configuration of resource pools, and resource pool statistics.
Note
To call this from Azure Synapse Analytics or Parallel Data Warehouse, use the name sys.dm_pdw_nodes_resource_governor_resource_pools.
Column name | Data type | Description |
---|---|---|
pool_id | int | The ID of the resource pool. Is not nullable. |
name | sysname | The name of the resource pool. Is not nullable. |
statistics_start_time | datetime | The time when statistics was reset for this pool. Is not nullable. |
total_cpu_usage_ms | bigint | The cumulative CPU usage in milliseconds since the Resource Govenor statistics were reset. Is not nullable. |
cache_memory_kb | bigint | The current total cache memory usage in kilobytes. Is not nullable. |
compile_memory_kb | bigint | The current total stolen memory usage in kilobytes (KB). The majority of this usage would be for compile and optimization, but it can also include other memory users. Is not nullable. |
used_memgrant_kb | bigint | The current total used (stolen) memory from memory grants. Is not nullable. |
total_memgrant_count | bigint | The cumulative count of memory grants in this resource pool. Is not nullable. |
total_memgrant_timeout_count | bigint | The cumulative count of memory grant time-outs in this resource pool. Is not nullable. |
active_memgrant_count | int | The current count of memory grants. Is not nullable. |
active_memgrant_kb | bigint | The sum, in kilobytes (KB), of current memory grants. Is not nullable. |
memgrant_waiter_count | int | The count of queries currently pending on memory grants. Is not nullable. |
max_memory_kb | bigint | The maximum amount of memory, in kilobytes, that the resource pool can have. This is based on the current settings and server state. Is not nullable. |
used_memory_kb | bigint | The amount of memory used, in kilobytes, for the resource pool. Is not nullable. |
target_memory_kb | bigint | The target amount of memory, in kilobytes, the resource pool is trying to attain. This is based on the current settings and server state. Is not nullable. |
out_of_memory_count | bigint | The number of failed memory allocations in the pool since the Resource Govenor statistics were reset. Is not nullable. |
min_cpu_percent | int | The current configuration for the guaranteed average CPU bandwidth for all requests in the resource pool when there is CPU contention. Is not nullable. |
max_cpu_percent | int | The current configuration for the maximum average CPU bandwidth allowed for all requests in the resource pool when there is CPU contention. Is not nullable. |
min_memory_percent | int | The current configuration for the guaranteed amount of memory for all requests in the resource pool when there is memory contention. This is not shared with other resource pools. Is not nullable. |
max_memory_percent | int | The current configuration for the percentage of total server memory that can be used by requests in this resource pool. Is not nullable. |
cap_cpu_percent | int | Applies to: SQL Server 2012 (11.x) and later. Hard cap on the CPU bandwidth that all requests in the resource pool will receive. Limits the maximum CPU bandwidth level to the specified level. The allowed range for value is from 1 through 100. Is not nullable. |
min_iops_per_volume | int | Applies to: SQL Server 2014 (12.x) and later. The minimum IO per second (IOPS) per disk volume setting for this Pool. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
max_iops_per_volume | int | Applies to: SQL Server 2014 (12.x) and later. The maximum IO per second (IOPS) per disk volume setting for this Pool. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0.. |
read_io_queued_total | int | Applies to: SQL Server 2014 (12.x) and later. The total read IOs enqueued since the Resource Govenor was reset. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
read_io_issued_total | int | Applies to: SQL Server 2014 (12.x) and later. The total read IOs issued since the Resource Govenor statistics were reset. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
read_io_completed_total | int | Applies to: SQL Server 2014 (12.x) and later. The total read IOs completed since the Resource Govenor statistics were reset. Is not nullable. |
read_io_throttled_total | int | The total read IOs throttled since the Resource Govenor statistics were reset. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
read_bytes_total | bigint | Applies to: SQL Server 2014 (12.x) and later. The total number of bytes read since the Resource Govenor statistics were reset. Is not nullable. |
read_io_stall_total_ms | bigint | Applies to: SQL Server 2014 (12.x) and later. Total time (in milliseconds) between read IO arrival and completion. Is not nullable. |
read_io_stall_queued_ms | bigint | Applies to: SQL Server 2014 (12.x) and later. Total time (in milliseconds) between read IO arrival and issue. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. To determine if the IO setting for the pool is causing latency, subtract read_io_stall_queued_ms from read_io_stall_total_ms. |
write_io_queued_total | int | Applies to: SQL Server 2014 (12.x) and later. The total write IOs enqueued since the Resource Govenor statistics were reset. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
write_io_issued_total | int | Applies to: SQL Server 2014 (12.x) and later. The total write IOs issued since the Resource Govenor statistics were reset. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
write_io_completed_total | int | Applies to: SQL Server 2014 (12.x) and later. The total write IOs completed since the Resource Govenor statistics were reset. Is not nullable |
write_io_throttled_total | int | Applies to: SQL Server 2014 (12.x) and later. The total write IOs throttled since the Resource Govenor statistics were reset. Is not nullable |
write_bytes_total | bigint | Applies to: SQL Server 2014 (12.x) and later. The total number of bytes written since the Resource Govenor statistics were reset. Is not nullable. |
write_io_stall_total_ms | bigint | Applies to: SQL Server 2014 (12.x) and later. Total time (in milliseconds) between write IO arrival and completion. Is not nullable. |
write_io_stall_queued_ms | bigint | Applies to: SQL Server 2014 (12.x) and later. Total time (in milliseconds) between write IO arrival and issue. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. This is the delay introduced by IO Resource Governance. |
io_issue_violations_total | int | Applies to: SQL Server 2014 (12.x) and later. Total IO issue violations. That is, the number of times when the rate of IO issue was lower than the reserved rate. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
io_issue_delay_total_ms | bigint | Applies to: SQL Server 2014 (12.x) and later. Total time (in milliseconds) between the scheduled issue and actual issue of IO. Is nullable. Null if the resource pool is not governed for IO. That is, the Resource Pool MIN_IOPS_PER_VOLUME and MAX_IOPS_PER_VOLUME settings are 0. |
pdw_node_id | int | Applies to: Azure Synapse Analytics, Parallel Data Warehouse The identifier for the node that this distribution is on. |
Remarks
Resource Governor workload groups and Resource Governor resource pools have a many-to-one mapping. As a result, many of the resource pool statistics are derived from the workload group statistics.
This dynamic management view shows the in-memory configuration. To see the stored configuration metadata, use the sys.resource_governor_resource_pools catalog view.
Permissions
Requires VIEW SERVER STATE permission.
See Also
Dynamic Management Views and Functions (Transact-SQL)
sys.dm_resource_governor_workload_groups (Transact-SQL)
sys.resource_governor_resource_pools (Transact-SQL)
ALTER RESOURCE GOVERNOR (Transact-SQL)