It is about procps
package, utility ps
for linux.
Can it print the number of last used CPU for each process (thread)?
Update: Not a CPU Time (10 seconds), but a CPU NUMBER (CPU0,CPU5,CPU123)
It is about procps
package, utility ps
for linux.
Can it print the number of last used CPU for each process (thread)?
Update: Not a CPU Time (10 seconds), but a CPU NUMBER (CPU0,CPU5,CPU123)
which of multiple processors? it does not offer an option for that according to the manpage. but on my Debian stable system it accepts the undocumented -o cpu
ps L
, I believe your answer is either the cpuid
or sgi_p
output options, column IDs CPUID and P, respectively.
{"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */
top
from same procps
can. –
Hoot -
for all processes ( –
Hoot The ps(1) man page says you can use the psr
field:
psr PSR processor that process is currently assigned to.
$ ps -o pid,psr,comm
PID PSR COMMAND
7871 1 bash
9953 3 ps
Or you can use the cpuid
field, which does the same thing.
$ ps -o pid,cpuid,comm
PID CPUID COMMAND
7871 1 bash
10746 3 ps
The reason for two names is for compatibility with Solaris (psr
) and NetBSD/OpenBSD (cpuid
).
To get threads too, add the -L
option (and the lwp
field if you are using -o
).
Without threads:
$ ps -U $USER -o pid,psr,comm | egrep 'chromi|PID' | head -4
PID PSR COMMAND
6457 3 chromium-browse
6459 0 chromium-browse
6461 2 chromium-browse
With threads:
$ ps -U $USER -L -o pid,lwp,psr,comm | egrep 'chromi|PID' | head -4
PID LWP PSR COMMAND
6457 6457 3 chromium-browse
6457 6464 1 chromium-browse
6457 6465 2 chromium-browse
There's also an undocumented -P
option, which adds psr
to the normal fields:
$ ps -U $USER -LP | egrep 'chromi|PID' | head -4
PID LWP PSR TTY TIME CMD
6457 6457 3 ? 00:01:19 chromium-browse
6457 6464 1 ? 00:00:00 chromium-browse
6457 6465 2 ? 00:00:00 chromium-browse
-P
option, which isn't documented, but saves some typing. –
Wynd which of multiple processors? it does not offer an option for that according to the manpage. but on my Debian stable system it accepts the undocumented -o cpu
ps L
, I believe your answer is either the cpuid
or sgi_p
output options, column IDs CPUID and P, respectively.
{"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */
Number of last used CPU
(CPU0,CPU1,CPU2) as it is in top
"f" "j" J: P = Last used cpu (SMP)
–
Hoot top
from same procps
can. –
Hoot -
for all processes ( –
Hoot Also much underrated:
mpstat -I ALL 1 | less -SR
You can add an iteration count (like mpstat 1 1
for just one iteration).
To still have color terminal output, tell mpstat
:
S_COLORS=always mpstat -I ALL 1 | less -SR
To have it statically updating on a terminal without scrolling:
watch -wcn .5 S_COLORS=always mpstat -I ALL 1 1
sysstat
. Haven't looked farther back though –
Olnton top
and press 1
(number 1) to see workload per CPU. –
Wynd mpstat
and even top 1
is there a way to just print a single snapshot output that I can scroll to see everything in the window? My monitor is not big enough to resize a single window to see all 96. –
Industrialist mpstat -I ALL -1 1 | less -SR
does the trick for me (look at me supporting random answers after 13 years :)) –
Olnton S_COLORS=always mpstat -I ALL 1 1 | less -SR
is even better. Updated the answer –
Olnton I did it this way on Arch, it might help someone out there:
ps -C "process" -L -o pid,lwp,pcpu,cpuid,time
© 2022 - 2024 — McMap. All rights reserved.
Number of last used CPU
(CPU0,CPU1,CPU2) as it is intop
"f" "j"J: P = Last used cpu (SMP)
– Hoot