2

現在、2 つのノードを持つ NUMA システムで作業しています。メモリを指しているポインタを取得しましたが、それがどのノードにあるのかわかりません。メモリのノード番号を取得する方法はありますか?

(現在のスレッドのノード マスクの取得が機能しない理由は、ノードのメモリがいっぱいであるため、スレッドが現在のノードに関連付けられていても、隣接するノードにメモリを割り当てる可能性があるためです。したがって、メモリの場所を取得する直接的な方法を探しています。)

4

2 に答える 2

0

NUMA API を確認してください: http://linux.die.net/man/3/numa。さりげない見た目からnuma_alloc_onnode()numa_get_run_node_mask()目立って重宝します。

API の関数の組み合わせによって、ノード番号を知りたい理由に対処できる場合があります。

于 2014-06-27T09:43:39.473 に答える
0

これは、Linux で を使用して実行できnuma_move_pagesます。これは単にページを移動するための砂糖です。ノードを渡さない場合は、ポインタの NUMA ノードの ID がステータスで返されます。ポインタは、物理メモリに存在するページ (つまり、既にページ フォールトが発生しているページ) を指す必要があることに注意してください。そうしないと、ENOENT が返されます。

于 2015-11-20T17:10:57.547 に答える