KeQueryHighestNodeNumber 함수(wdm.h)
KeQueryHighestNodeNumber 루틴은 NUMA(비균등 메모리 액세스) 아키텍처가 있는 다중 프로세서 시스템에서 가장 높은 노드 번호를 반환합니다.
구문
USHORT KeQueryHighestNodeNumber();
반환 값
KeQueryHighestNodeNumber 는 가장 높은 노드 번호를 반환합니다.
설명
NUMA(비균등 메모리 액세스) 다중 프로세서 아키텍처에서 노드는 메모리 영역에 대한 빠른 액세스를 공유하는 프로세서 컬렉션입니다. 프로세서가 다른 노드의 메모리에 액세스할 수 있는 것보다 더 빠르게 노드의 메모리에 액세스할 수 있기 때문에 메모리 액세스는 균일하지 않습니다.
NUMA 다중 프로세서 시스템에 n 노드가 포함된 경우 노드 번호는 0에서 n-1로, KeQueryHighestNodeNumber 는 n-1을 반환합니다. 시스템에 노드가 하나 있는 경우 KeQueryHighestNodeNumber 는 0을 반환합니다.
시스템에 NUMA 아키텍처가 없는 경우 KeQueryHighestNodeNumber 는 0을 반환합니다. 비 NUMA 아키텍처의 예로는 대칭 SMP(다중 프로세서 시스템)가 있습니다.
Windows는 NUMA 다중 프로세서 시스템을 초기화할 때 논리 프로세서를 노드에 할당하고 결과 노드 수를 계산합니다. Windows는 노드의 용량을 시스템이 실행되는 동안 노드에 추가할 수 있는 다른 논리 프로세서 외에도 시스템이 시작될 때 존재하는 프로세서 수로 정의합니다. 초기화 중에 Windows가 그룹에 맞는 것보다 더 많은 논리 프로세서를 포함하는 NUMA 하드웨어 노드를 발견하면 Windows는 노드를 더 작은 논리 노드로 분할합니다. 이러한 각 노드는 최대 그룹 크기를 초과하지 않습니다. KeQueryHighestNodeNumber에서 반환되는 값은 시스템의 논리 노드 수를 나타냅니다.
시스템이 초기화되면 시스템이 계속 실행되는 동안 노드 수가 고정된 상태로 유지됩니다. 이 개수에는 메모리를 포함하지만 활성 논리 프로세서가 없는 노드인 메모리 전용 노드가 포함될 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준 |