KeQueryHighestNodeNumber 函数 (ntddk.h)

KeQueryHighestNodeNumber 例程返回多处理器系统中具有非统一内存访问(NUMA)体系结构的最高节点数。

语法

USHORT KeQueryHighestNodeNumber();

返回值

KeQueryHighestNodeNumber 返回最高的节点数。

言论

在非统一内存访问(NUMA)多处理器体系结构中,节点是一组处理器,可共享对内存区域的快速访问。 内存访问不统一,因为处理器可以比在其他节点中访问内存更快访问其节点中的内存。

如果 NUMA 多处理器系统包含 n 节点,则节点数从 0 到 n-1,并且 KeQueryHighestNodeNumber 返回 n-1。 如果系统包含一个节点,则 KeQueryHighestNodeNumber 返回零。

如果系统没有 NUMA 体系结构,KeQueryHighestNodeNumber 返回零。 非 NUMA 体系结构的示例是对称多处理器系统(SMP)。

当 Windows 初始化 NUMA 多处理器系统时,它将逻辑处理器分配给节点并计算生成的节点数。 Windows 将节点的容量定义为系统启动时存在的处理器数,以及可在系统运行时添加到节点的任何其他逻辑处理器。 如果在初始化期间,Windows 遇到一个 NUMA 硬件节点,该节点包含的逻辑处理器多于适合组,Windows 会将节点拆分为更小的逻辑节点。 其中每个节点不超过最大组大小。 由 KeQueryHighestNodeNumber 返回的值 指示系统中的逻辑节点数。

初始化系统后,节点计数将保持固定,同时系统继续运行。 此计数可能包括仅限内存的节点,这些节点包含内存,但没有活动的逻辑处理器。

要求

要求 价值
最低支持的客户端 在 Windows 7 及更高版本的 Windows 中可用。
目标平台 普遍
标头 ntddk.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别