Frage: Ich würde gerne wissen, ob es unter Linux (möglicherweise in CentOS, RedHat oder Fedora) einen Befehl gibt, mit dem ich herausfinden kann, welcher CPU-Kern gerade einen bestimmten Prozess ausführt?
Antwort:
Ja, es gibt mindestens vier Möglichkeiten, mit denen Sie den CPU-Kern identifizieren können, auf dem derzeit eine bestimmte Prozessidentifikationsnummer ausgeführt wird. Lassen Sie mich zur Demonstration crond betrachten Prozess mit der Prozess-ID 24868.
Befehl 1:Verwendung von ps Befehl
Sie können ps verwenden Befehl, um herauszufinden, welcher Prozess aktuell welchem CPU-Kern zugeordnet ist. Halten Sie nach dem PSR Ausschau Feld in ps Befehlsausgabe.
$ ps -o pid,psr,comm -p 24868 PID PSR COMMAND 24868 2 crond
Die obige Befehlsausgabe zeigt an, dass der Prozess mit der PID 24868 (crond) dem CPU-Kern 2 zugewiesen ist.
Hinweis: Der Kernel kann den Prozess in jedem CPU-Kern planen und ihn möglicherweise von einem Kern zum anderen ändern.
Befehl 2:Mit top Befehl
Sie können auch oben verwenden Befehl. Unten sind die Schritte.
$ top -p 24868
Drücken Sie im „obersten“ Ausgabebildschirm auf „f ‘, um „Zuletzt verwendete CPU (SMP) hinzuzufügen “ und drücken Sie „j ‘ (achten Sie auf das Sternchen in der Zeile „Zuletzt verwendete CPU (SMP)“). Sobald Sie fertig sind, sehen Sie die CPU-Kern-ID, die jeden Prozess in Spalte „P“ ausführt.
Befehl 3:Verwenden von htop
Installieren Sie htop:
$yum install htop Installed: htop.x86_64 0:1.0.1-2.el6 Complete!
Starten Sie htop Befehl und drücken Sie F2, um Setup aufzurufen . Wählen Sie in der Spalte „Setup“ die Option „Columns“ und dann „PROCESSOR“ unter „Available Columns“. Wenn Sie fertig sind, drücken Sie F5, um die Spalte hinzuzufügen, und F10, um sie zu speichern.
$ htop
Befehl 4:Verwendung von taskset Befehl
Sie können taskset verwenden Befehl zum Abrufen der CPU-Affinität eines laufenden Prozesses.
$ taskset -c -p 24868 pid 24868's current affinity list: 0-7
Die obige Befehlsausgabe besagt, dass der Scheduler den Prozess an eine Reihe von CPUs (0-7) im System bindet.
CPU-Kerne und ihre ID auflisten:
Mit dem folgenden Befehl können Sie nun die Liste der CPU-Kerne in Ihrem System finden und die von den Befehlen top, htop, taskset und ps zurückgegebene Prozessor-ID zuordnen.
$ cat /proc/cpuinfo
Das ist es!