sys.dm_os_nodes (Transact-SQL)

一个名为 SQLOS 的内部组件可创建模拟硬件处理器位置的节点结构。可以使用软件 NUMA 来创建自定义节点布局从而对这些结构进行更改。

下表提供了有关这些节点的信息。

列名

数据类型

说明

node_id

smallint

节点的 ID。

node_state_desc

nvarchar(256)

对节点状态的说明。首先显示互斥的值,后跟可组合的值。例如:

Online, Thread Resources Low, Lazy Preemptive

有四个互斥的 node_state_desc 值:

值说明
ONLINE节点处于联机状态。
OFFLINE节点处于脱机状态。
IDLE节点没有挂起的工作请求,并已进入空闲状态。
IDLE_READY节点没有挂起的工作请求,正准备进入空闲状态。

有三个可组合的 node_state_desc 值:

值说明
DAC此节点是为专用管理连接保留的。
THREAD_RESOURCES_LOW由于内存不足,因而无法在此节点上创建新线程。
HOT ADDED指示已添加了节点以响应一个热添加 CPU 事件。

memory_object_address

varbinary(8)

与此节点关联的内存对象的地址。与 sys.dm_os_memory_objects.memory_object_address 具有一对一关系。

memory_clerk_address

varbinary(8)

与此节点关联的内存 Clerk 的地址。与 sys.dm_os_memory_clerks.memory_clerk_address 具有一对一关系。

io_completion_worker_address

varbinary(8)

分配给此节点的 IO 完成的工作线程的地址。与 sys.dm_os_workers.worker_address 具有一对一关系。

memory_node_id

smallint

此节点所属的内存节点的 ID。与 sys.dm_os_memory_nodes.memory_node_id 具有多对一关系。

cpu_affinity_mask

bigint

用于标识此节点所关联的 CPU 的位图。

online_scheduler_count

smallint

此节点所管理的联机计划程序数目。

idle_scheduler_count

smallint

没有活动的工作线程的联机计划程序数目。

active_worker_count

int

在此节点所管理的所有计划程序上处于活动状态的工作线程数目。

avg_load_balance

int

此节点上每个计划程序的平均任务数。

timer_task_affinity_mask

bigint

用于标识可为其分配计时器任务的计划程序的位图。

permanent_task_affinity_mask

bigint

用于标识可为其分配永久性任务的计划程序的位图。

resource_monitor_state

bit

每个节点都分配有一个资源监视器。资源监视器可以处于运行或空闲状态。值 1 表示正在运行,值 0 表示处于空闲状态。

online_scheduler_mask

bigint

标识此节点的进程关联掩码。

processor_group

smallint

标识此节点的处理器组。

权限

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