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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别