다음을 통해 공유


KeQueryNodeActiveAffinity 함수(wdm.h)

KeQueryNodeActiveAffinity 루틴은 NUMA(비일률 메모리 액세스) 아키텍처가 있는 다중 프로세서 시스템에서 지정된 노드의 현재 프로세서 선호도를 가져옵니다.

구문

void KeQueryNodeActiveAffinity(
  [in]            USHORT          NodeNumber,
  [out, optional] PGROUP_AFFINITY Affinity,
  [out, optional] PUSHORT         Count
);

매개 변수

[in] NodeNumber

노드 번호입니다. 다중 프로세서 시스템에 n 노드가 포함된 경우 노드 번호는 0에서 n-1로 지정됩니다. 시스템에서 가장 높은 노드 번호(n-1)를 가져오려면 KeQueryHighestNodeNumber 루틴을 호출합니다.

[out, optional] Affinity

루틴이 GROUP_AFFINITY 구조를 작성하는 호출자가 할당한 버퍼에 대한 포인터입니다. 이 구조체에는 NodeNumber로 식별되는 노드를 포함하는 그룹의 그룹 번호와 노드의 논리 프로세서가 활성 상태임을 나타내는 선호도 마스크가 포함됩니다. 이 정보가 필요하지 않은 경우 이 매개 변수를 NULL 로 설정할 수 있습니다.

Windows Server 2022부터 노드는 둘 이상의 그룹에 걸쳐 있습니다. 이 문제는 노드에 64개 이상의 프로세서가 포함되어 있을 때 발생합니다. 이 경우 OS는 각 NUMA 노드에 대한 기본 그룹을 할당합니다. 기본 그룹은 항상 가장 많은 프로세서를 포함하는 그룹입니다. 이 경우 반환되는 그룹 선호도 구조는 노드의 기본 그룹에 대한 것입니다. 이 동작 변경에 대한 자세한 내용은 NUMA 지원을 참조하세요. NUMA 노드당 프로세서가 64개 이상인 시스템에서 코드가 실행되는 경우 대신 KeQueryNodeActiveAffinity2를 사용하는 것이 좋습니다.

[out, optional] Count

루틴이 선호도로 가리키는 노드 선호도 마스크에 표시되는 활성 프로세서 수를 쓰는 위치에 대한 포인터입니다. 이 정보가 필요하지 않은 경우 이 매개 변수를 NULL 로 설정할 수 있습니다.

Windows Server 2022부터 반환된 개수는 노드의 기본 그룹에 대한 입니다. 위의 기본 그룹에 대한 자세한 내용을 참조하세요.

반환 값

없음

설명

Affinity 매개 변수가 가리키는 호출자 할당 버퍼는 GROUP_AFFINITY 구조를 포함할 수 있을 만큼 커야 합니다. 이 구조체의 Mask 멤버에는 활성 상태인 프로세서를 나타내는 선호도 마스크가 포함되어 있습니다. 프로세서가 활성 상태인 경우 마스크의 해당 비트는 1입니다. 다른 모든 비트는 0입니다.

NUMA 다중 프로세서 아키텍처에서 노드는 메모리 영역에 대한 빠른 액세스를 공유하는 프로세서 컬렉션입니다. 프로세서가 다른 노드의 메모리에 액세스할 수 있는 것보다 더 빠르게 노드의 메모리에 액세스할 수 있기 때문에 메모리 액세스는 균일하지 않습니다.

노드의 프로세서 수는 선호도에서 가리키는 구조체의 선호도 마스크에 있는 비트 수를 초과할 수 없습니다. 또한 선호도 마스크는 그룹의 최대 프로세서 수를 결정합니다.

Windows 10 버전 2004 및 이전 버전에서 시스템 초기화 중에 Windows가 그룹에 맞는 것보다 더 많은 논리 프로세서를 포함하는 NUMA 하드웨어 노드를 발견하면 Windows는 노드를 더 작은 논리 노드로 분할합니다. 이러한 각 노드는 최대 그룹 크기를 초과하지 않습니다. NodeNumber 매개 변수는 논리 노드를 식별합니다. 그룹당 최대 프로세서 수를 가져오려면 KeQueryMaximumProcessorCountEx 루틴을 호출합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

KeQueryNodeActiveAffinity2

KeQueryLogicalProcessorRelationship

GROUP_AFFINITY

KeQueryHighestNodeNumber

KeQueryHighestNodeNumber

KeQueryMaximumProcessorCountEx