次の方法で共有


KeQueryHighestNodeNumber 関数 (ntddk.h)

KeQueryHighestNodeNumber ルーチンは、非均一メモリ アクセス (NUMA) アーキテクチャを持つマルチプロセッサ システムで最も高いノード番号を返します。

構文

USHORT KeQueryHighestNodeNumber();

戻り値

KeQueryHighestNodeNumber は 、最も大きいノード番号を返します。

注釈

非均一メモリ アクセス (NUMA) マルチプロセッサ アーキテクチャでは、ノードはメモリの領域への高速アクセスを共有するプロセッサのコレクションです。 プロセッサは他のノードのメモリにアクセスするよりも高速にノード内のメモリにアクセスできるため、メモリ アクセスは一様ではない。

NUMA マルチプロセッサ システムに n 個のノードが含まれている場合、ノードには 0 から n-1 の番号が付き、 KeQueryHighestNodeNumbern-1 を返します。 システムに 1 つのノードが含まれている場合、 KeQueryHighestNodeNumber は 0 を返します。

システムに NUMA アーキテクチャがない場合、 KeQueryHighestNodeNumber は 0 を返します。 NUMA 以外のアーキテクチャの例として、対称マルチプロセッサ システム (SMP) があります。

Windows は、NUMA マルチプロセッサ システムを初期化するときに、ノードに論理プロセッサを割り当て、結果のノードの数をカウントします。 Windows は、ノードの容量を、システムの実行中にノードに追加できる他の論理プロセッサに加えて、システムの起動時に存在するプロセッサの数として定義します。 初期化中に、Windows がグループに収まるよりも多くの論理プロセッサを含む NUMA ハードウェア ノードを検出した場合、Windows はノードを小さい論理ノードに分割します。 これらの各ノードは、グループの最大サイズを超えません。 KeQueryHighestNodeNumber によって返される値は、システム内の論理ノードの数を示します。

システムが初期化された後も、システムの実行が続行されている間、ノード数は固定されたままになります。 この数には、メモリのみのノードが含まれる場合があります。これは、メモリを含むがアクティブな論理プロセッサを含まないノードです。

要件

要件
サポートされている最小のクライアント Windows 7 以降のバージョンの Windows で使用できます。
対象プラットフォーム ユニバーサル
Header ntddk.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL 任意のレベル