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 | 任何级别 |