Ich habe Zugriff auf einen 8-Kern-Knoten eines Linux-Clusters. Wenn ich am Knoten angemeldet bin, kann ich mit diesem Befehl eine Liste der Prozessoren anzeigen:
more /proc/cpuinfo
In meinem 8-Kern-Knoten sind die Prozessoren von 0 bis 7 nummeriert. Jeder Prozessor ist eine Intel Xeon-CPU (E5430 bei 2,66 GHz).
Angenommen, ich rufe das Programm foo
mit einigen Argumenten auf args
:
foo args
Die foo
Ausführung des Programms dauert lange (z. B. Stunden oder Tage). Ist es nach dem Aufruf foo
möglich, den bestimmten Prozessor (dh 0 bis 7) zu bestimmen , auf dem ausgeführt foo
wird? Das top
Programm zeigt mir die Prozess - ID und ähnliche Informationen, aber ich sehe den Prozessor nicht Nummer . Sind solche Informationen verfügbar?
foo
zwei verschiedenen Prozessoren zuweisen kann . Wenn ich foo
einmal anrufe, läuft es mit %CPU
fast 100% (laut top
). Wenn ich jedoch foo
ein zweites Mal aufrufe, werden beide foo
Prozesse so ausgeführt, dass sich die Werte %CPU
für beide Prozesse auf weniger als 100% summieren (normalerweise etwa 45% für jeden foo
Prozess). Für mich bedeutet dies, dass die beiden Aufrufe foo
auf demselben Prozessor ausgeführt werden (obwohl acht Prozessoren verfügbar sind). Ich möchte überprüfen, ob dies der Fall ist.