sys.dm_os_memory_nodes
SQL Server 的内部分配是使用 SQL Server 内存管理器进行的。跟踪来自 sys.dm_os_process_memory 的进程内存计数器与内部计数器之间的差异可以指示外部组件在 SQL Server 内存空间中的内存使用情况。
针对每个物理 NUMA 内存节点都创建了节点。这些节点可能不同于 sys.dm_os_nodes 中的 CPU 节点。
对于直接通过 Windows 内存分配例程进行的分配不会进行跟踪。下表提供了有关仅通过使用 SQL Server 内存管理器接口进行的内存分配的信息。
列名 |
数据类型 |
说明 |
---|---|---|
memory_node_id |
smallint |
内存节点的 ID。与 sys.dm_os_memory_clerks 的 memory_node_id 相关。 |
virtual_address_space_reserved_kb |
bigint |
既未提交也未映射到物理页的虚拟地址的保留数(以 KB 为单位)。 |
virtual_address_space_committed_kb |
bigint |
已提交或已映射到物理页的虚拟地址数量(以 KB 为单位)。 |
locked_page_allocations_kb |
bigint |
被 SQL Server 锁定的物理内存量(以 KB 为单位)。 |
single_pages_kb |
bigint |
通过使用单页分配器并按此节点上运行的线程分配的已提交内存量(以 KB 为单位)。该内存是从缓冲池分配的。该值指示的是发生分配请求的节点,而不是满足分配请求的物理位置。 |
multi_pages_kb |
bigint |
通过使用多页分配器并按此节点上运行的线程分配的已提交内存量(以 KB 为单位)。该内存是从缓冲池之外分配的。该值指示的是发生分配请求的节点,而不是满足分配请求的物理位置。 |
shared_memory_reserved_kb |
bigint |
此节点保留的共享内存量(以 KB 为单位)。 |
shared_memory_committed_kb |
bigint |
此节点上已提交的共享内存量(以 KB 为单位)。 |
权限
要求对服务器拥有 VIEW SERVER STATE 权限。