sys.dm_os_memory_nodes (Transact-SQL)

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_clerksmemory_node_id 相关。 不能为 NULL。

virtual_address_space_reserved_kb

bigint

指示既未提交也未映射到物理页的保留虚拟地址数量(以 KB 为单位)。 不能为 NULL。

virtual_address_space_committed_kb

bigint

指定已提交或映射到物理页的虚拟地址数量(以 KB 为单位)。 不能为 NULL。

locked_page_allocations_kb

bigint

指定 SQL Server 锁定的物理内存数量(以 KB 为单位)。 不能为 NULL。

pages_kb

bigint

指定已提交的内存数量(以 KB 为单位),这是由内存管理器页面分配器从此 NUMA 节点分配的。 不能为 NULL。

shared_memory_reserved_kb

bigint

指定从此节点中保留的共享内存数量(以 KB 为单位)。 不能为 NULL。

shared_memory_committed_kb

bigint

指定在此节点上提交的共享内存数量(以 KB 为单位)。 不能为 NULL。

cpu_affinity_mask

bigint

仅供内部使用。 不能为 NULL。

online_scheduler_mask

bigint

仅供内部使用。 不能为 NULL。

processor_group

smallint

仅供内部使用。 不能为 NULL。

foreign_committed_kb

bigint

指定从其他内存节点中提交的内存数量(以 KB 为单位)。 不能为 NULL。

权限

要求具有服务器的 VIEW SERVER STATE 权限。

兼容性支持

在 SQL Server 2012 中,以下列已重命名。

以前的列名

新列名

single_pages_kb

pages_kb

multi_pages_kb

foreign_committed_kb

请参阅

参考

动态管理视图和函数 (Transact-SQL)

与 SQL Server 操作系统相关的动态管理视图 (Transact-SQL)