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.