Multi-Cores und "welcher Prozess läuft wo" ?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Multi-Cores und "welcher Prozess läuft wo" ?

Beitrag von mistersixt » 30.06.2009 14:49:39

Moin moin,

ich habe hier mehrere 16- oder 32-CPU Server. Dazu habe ich ff. Fragen:

1) Wenn ein Programm gestartet wird, wird der Kernel-Scheduler vermutlich eine CPU aussuchen, auf dem das Ding laufen soll. Wenn nun das Programm im STATE "S" ist, also aktuell nichts zu tun hat, und anschliessend - weil Arbeit ansteht - in den STATE "R" übergeht, wird das Programm dann weiter auf der gleichen, vorher ausgesuchten CPU ausgeführt oder schaut sich der Scheduler eine neue CPU aus?

2) Wie kann ich generell sehen, auf welcher CPU welcher Prozess gerade ausgeführt wird? Mit dem "taskset" kann ich zwar einen Prozess an eine CPU "binden", aber wie bekomme ich generell eine Übersicht über die Verteilung von CPUs und der darauf laufenden Prozesse/Programme?

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: Multi-Cores und "welcher Prozess läuft wo" ?

Beitrag von Spasswolf » 30.06.2009 15:28:46

mistersixt hat geschrieben:Moin moin,


2) Wie kann ich generell sehen, auf welcher CPU welcher Prozess gerade ausgeführt wird? Mit dem "taskset" kann ich zwar einen Prozess an eine CPU "binden", aber wie bekomme ich generell eine Übersicht über die Verteilung von CPUs und der darauf laufenden Prozesse/Programme?

Gruss, mistersixt.
Eventuell hilft die Spalte PSR in:

Code: Alles auswählen

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Multi-Cores und "welcher Prozess läuft wo" ?

Beitrag von mistersixt » 30.06.2009 15:34:56

Spasswolf hat geschrieben: Eventuell hilft die Spalte PSR in:

Code: Alles auswählen

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
He, danke, das scheint Frage 2) geklärt zu haben, und damit bekomme ich dann vermutlich auch Frage 1) heraus.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Multi-Cores und "welcher Prozess läuft wo" ?

Beitrag von mistersixt » 30.06.2009 15:44:40

mistersixt hat geschrieben:
He, danke, das scheint Frage 2) geklärt zu haben, und damit bekomme ich dann vermutlich auch Frage 1) heraus.

Gruss, mistersixt.
Und hiermit die Antwort: der Kernel wechselt die Prozesse gerne mal auf andere CPUs, wenn sie von "S" in "R" wechseln, damit ist auch Frage 2) gelöst.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.11.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 3.8 Ghz., Radeon RX 5700 XT, 32 GB Ram, XFCE

Antworten