Речь идет о пакете procps
, утилите ps
для Linux.
Может ли он напечатать номер последнего использованного процессора для каждого процесса (потока)?
Обновление: не время ЦП (10 секунд), а НОМЕР ЦП (ЦП0, ЦП5, ЦП123)
Речь идет о пакете procps
, утилите ps
для Linux.
Может ли он напечатать номер последнего использованного процессора для каждого процесса (потока)?
Обновление: не время ЦП (10 секунд), а НОМЕР ЦП (ЦП0, ЦП5, ЦП123)
какой из нескольких процессоров? согласно справочной странице, он не предлагает для этого такой возможности. но в моей стабильной системе Debian он принимает недокументированные -o cpu
ps L
, я полагаю, что ваш ответ - это параметры вывода cpuid
или sgi_p
, идентификаторы столбцов CPUID и P соответственно. {"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) как в top
f j J: P = Last used cpu (SMP)
- person osgx; 20.04.2011
top
из того же procps
может.
- person osgx; 20.04.2011
-
для всех процессов (
- person osgx; 20.04.2011
На справочной странице ps(1) сказано, что вы можете использовать поле psr
:
psr PSR processor that process is currently assigned to.
$ ps -o pid,psr,comm
PID PSR COMMAND
7871 1 bash
9953 3 ps
Или вы можете использовать поле cpuid
, которое делает то же самое.
$ ps -o pid,cpuid,comm
PID CPUID COMMAND
7871 1 bash
10746 3 ps
Два имени используются для совместимости с Solaris (psr
) и NetBSD/OpenBSD ( cpuid
).
Чтобы также получить потоки, добавьте параметр -L
(и поле lwp
, если вы используете -o
).
Без потоков:
$ 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
С нитями:
$ 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
Также есть недокументированная опция -P
, которая добавляет psr
к обычным полям:
$ 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
, которая не задокументирована, но избавляет от необходимости печатать.
- person Mikel; 21.04.2011
Также сильно недооценены:
mpstat -I ALL 1 | less -SR
sysstat
. Хотя не оглядывался назад
- person sehe; 21.04.2011
top
и нажать 1
(цифра 1), чтобы увидеть нагрузку на ЦП.
- person Mikel; 21.04.2011
Я сделал это на Arch, это может помочь кому-то там:
ps -C "process" -L -o pid,lwp,pcpu,cpuid,time