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 权限。