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

4 Möglichkeiten, einen CPU-Kern herauszufinden, der einen bestimmten Prozess in Linux ausführt

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!


Linux
  1. 4 Möglichkeiten, die öffentliche IP-Adresse des Servers im Linux-Terminal zu finden

  2. Welche Linux-Version verwende ich? So finden Sie es heraus

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

  4. Was ist ein Befehl, um die Priorität des Prozesses in Linux zu finden?

  5. Wie finde ich den Namensraum eines bestimmten Prozesses heraus?

3 Möglichkeiten, um herauszufinden, welcher Prozess auf einem bestimmten Port lauscht

So finden Sie heraus, welche Version des Linux-Kernels auf Ihrem PC läuft

5 schnelle Möglichkeiten, einen Prozess in Linux zu beenden

So finden Sie heraus, wie lange ein Prozess unter Linux läuft

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

Linux:Finden Sie heraus, auf welcher Portnummer ein Prozess lauscht