Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So überprüfen Sie unter Linux, auf welcher CPU sich ein Prozess befindet

So überprüfen Sie unter Linux, auf welcher CPU sich ein Prozess befindet

WBOY
WBOYOriginal
2022-05-23 16:48:518799Durchsuche

Anzeigemethode: 1. Verwenden Sie den Befehl top, der anzeigen kann, auf welcher CPU der Prozess ausgeführt wird. Die Syntax lautet „top -p Prozessnummer“. 2. Verwenden Sie den Befehl „taskset“, mit dem angezeigt werden kann, auf welcher CPU der Prozess ausgeführt wird oder der Thread läuft weiter, die Syntax lautet „tasksset -p Prozessnummer“.

So überprüfen Sie unter Linux, auf welcher CPU sich ein Prozess befindet

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

So überprüfen Sie, auf welcher CPU der Prozess unter Linux ausgeführt wird

Methode 1: Verwenden Sie den Befehl „top“

Der Befehl „top“ kann anzeigen, auf welcher CPU der Prozess ausgeführt wird, und kann Änderungen im Laufe der Zeit kontinuierlich überwachen, um zu sehen, welche CPU Der Prozess läuft weiter.

Nutzungsschritte:

top -p [进程号],例如 top -p 3000

Drücken Sie die Taste „F“, wählen Sie mit den Auf- und Ab-Tasten „P = Zuletzt verwendete CPU“ aus, drücken Sie die Leertaste, um die Auswahl anzuzeigen, und drücken Sie dann „q“. Ausfahrt.

Methode 2: Verwenden Sie den Befehl „taskset“

taskset kann überprüfen, auf welcher CPU ein bestimmter Prozess (oder Thread) ausgeführt wird, oder ein Programm auf einer oder mehreren bestimmten CPUs ausführen lassen

taskset-Parameteroptionen:

(1 )-p, --pid: Vorhandene PID betreiben, keine neuen Aufgaben starten

(2)-c, --cpu-list: Geben Sie eine Liste von Prozessornummern an, keine Bitmaske. Die Liste kann mehrere Elemente enthalten, getrennt durch Kommas und Bereiche. Zum Beispiel 0, 5, 7, 9 – 11.

1) Zeigt die CPU an, auf der der Prozess läuft: -p-Parameter

Beispiel 1:

[root@localhost ~]# taskset -p 21184

Ergebnisse anzeigen:

pid 21184’s current affinity mask: ffffff

Hinweis: 21184 ist die Prozessnummer. Das ffffff, das das Ergebnis anzeigt, ist eigentlich eine Bitmaske, in der die 24 niederwertigen Bits der Binärdatei alle 1 sind. Jede 1 entspricht 1 CPU, was anzeigt, dass der Prozess auf 24 CPUs ausgeführt wird.

Beispiel 2:

[root@localhost ~]# taskset -p 2030

Anzeigeergebnis:

pid2030’s current affinity mask: f

Hinweis: Es zeigt, dass sshd zufällig 4 CPUs einschaltet.

Beispiel 3:

[root@localhost ~]# taskset -p 2726

Anzeigeergebnis:

pid 2726’s current affinity mask: 3

Hinweis: Die angezeigte Dezimalzahl 3 wird in Binärzahl umgewandelt und die niedrigsten beiden sind 1. Jede 1 entspricht einer CPU, sodass der Prozess auf 2 CPUs läuft.

*Hinweis: *Die CPU-Beschriftung beginnt bei 0, sodass cpu1 die zweite CPU darstellt (die erste CPU-Beschriftung ist 0).

Über die Konvertierungsmethode

CPU-ID von 8 Kernen: 7 6 5 4 3 2 1 0

Die entsprechenden Dezimalstellen von 10: 128 64 32 16 8 4 2 1

16 Stellen im Hexadezimalformat Es ist: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

entsprechend jeder hexadezimalen Binärziffer: 0=0000,1 =0001,2= 0010,3=0011,4=0100,5=0101,6=0110,7=0111,8=1000,9=1001,A=1010,

B=1011,C=1100,D =1101,E= 1110,F=1111

Zum Beispiel erscheint die aktuelle Affinitätsmaske von pid 8987: ff ff ist hexadezimal, in Binär umgewandelt: 11111111, was bedeutet, dass sshd auf 8 CPUs ersetzt wird! Entspricht also jedem Wert!

Zum Beispiel 40 in Hexadezimalzahl, dann in Binärzahl 01000000 umwandeln, was bedeutet, dass auf der 7. CPU gearbeitet wird

Empfohlenes Lernen: Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo überprüfen Sie unter Linux, auf welcher CPU sich ein Prozess befindet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn