GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bestimmen des bestimmten Prozessors, auf dem ein Prozess läuft

ps kann Ihnen diese Informationen geben, wenn Sie nach dem psr fragen Spalte (oder verwenden Sie die -F Flag, das es enthält).

Beispiel:

$ ps -F $$
UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
me        6415  6413  0  5210  2624   2 18:52 pts/0    SN     0:00 -su

Oder:

$ ps -o pid,psr,comm -p $$
  PID PSR COMMAND
 6415   0 bash

Meine Shell lief auf CPU 2, als ich den ersten Befehl ausführte, auf CPU 0, als ich den zweiten ausführte. Beachten Sie, dass Prozesse CPUs sehr, sehr schnell ändern können, sodass die Informationen, die Sie tatsächlich sehen, im Wesentlichen bereits veraltet sind.

Einige weitere Informationen in den Antworten dieser Super User-Frage:

Linux:Befehl, um die Prozessornummer zu erfahren, in der ein Prozess geladen ist?


Mit der top ab procps (im Allgemeinen die Standardeinstellung bei Linux-Distributionen heutzutage), in top , drücken Sie f , navigieren Sie zu P = Last User CPU (SMP) und drücken Sie Leertaste auszuwählen (Sie können das Feld auch z.B. vor die COMMAND verschieben Feld mit der Rechts drücken und dann nach oben und unten bewegen). q , um zum Hauptbildschirm zurückzukehren (wo Sie sehen, wie sich Ihr Prozess von Prozessor zu Prozessor bewegt, es sei denn, Sie haben ihn explizit so konfiguriert, dass er bei einem bleibt). Sie können W drücken als Standard zu speichern.

Drücken Sie ? um Hilfe.


Der Befehl taskset ist, wonach Sie suchen:

taskset - Abrufen oder Festlegen der CPU-Affinität eines Prozesses

Beispiel

$ taskset -p 12345
pid 12345's current affinity mask: f

Eine Maske von f bedeutet alle Prozessoren, 0x00000001 wäre nur Prozessor 0.

$ taskset -c -p 24389 
pid 24389's current affinity list: 0-3

Zeigt die CPUs im Listenformat an. Ich habe in diesem Beispiel 4 Kerne auf meinem Laptop.

Weitere Einzelheiten finden Sie in der Manpage.


Linux
  1. Finden Sie die Ausführungszeit eines Befehls oder Prozesses in Linux

  2. Wie beendet man einen Prozess, der auf einem bestimmten Port in Linux läuft?

  3. Prozessname von seiner PID in Linux

  4. Wie lautet die PID im Host eines Prozesses, der in einem Docker-Container ausgeführt wird?

  5. Bestimmen Sie, in welcher Gruppe(n) sich ein laufender Prozess befindet?

So ändern Sie die Priorität eines Prozesses in Linux

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

So verwenden Sie den which-Befehl in Linux

Gibt es in Linux einen Befehl, um die Prozessornummer zu ermitteln, in der ein Prozess geladen wird?

Identifizieren, welcher MTA ausgeführt wird

Sind PID-Dateien zuverlässig, um festzustellen, ob ein Prozess ausgeführt wird?