Ich habe meinen Code eingerichtet, um Daten lokal auf meinem NUMA-System sorgfältig zu laden und zu verarbeiten. Ich denke. Das heißt, zu Debugging-Zwecken möchte ich wirklich in der Lage sein, die Zeigeradressen zu verwenden, auf die innerhalb einer bestimmten Funktion zugegriffen wird, die durch viele andere Funktionen eingerichtet wurden, um direkt die NUMA-Knoten zu identifizieren, auf die der Speicher zeigte befindet sich auf, so kann ich überprüfen, ob sich alles dort befindet, wo es sich befinden soll. Ist das möglich?
Ich habe diese Anfrage auf msdn gefunden Ссылка für die gleiche Sache, aber die Antwort verwendet QueryWorkingSetEx (), die Windows-spezifisch erscheint. Kann dies unter Linux gemacht werden? Ich bin auf Debian Squeeze, um genau zu sein.
Danke.
Es gibt eine move_pages
Funktion in -lnuma
: Ссылка
kann den aktuellen Status der Adresse (Seite) an Knotenzuordnungen melden:
Knoten können auch NULL sein. In diesem Fall bewegt move_pages () keine Seiten, sondern gibt stattdessen den Knoten zurück, auf dem sich jede Seite im Statusarray befindet. Das Ermitteln des Status jeder Seite kann erforderlich sein, um Seiten zu bestimmen, die verschoben werden müssen.
Also, Aufruf könnte wie sein:
%Vor%Tags und Links c memory multithreading linux numa