Есть ли в Linux команда, чтобы узнать номер процессора, в который загружен процесс?

26

Есть ли какая-либо команда в Linux, чтобы выяснить, для какого процесса, какой процесс запущен? Я заинтересован в выяснении загруженности процессора и времени простоя процессора этого процессора.

Кумар
источник

Ответы:

32

Вы можете использовать psкоманду для запроса и отображения активного процессора. Например, вы можете запустить:

$ ps -aF
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0  5971  1764   1 Sep15 ?        00:00:01 /sbin/init
ubuntu   28903  2975  0  3826  1208   0 09:36 pts/0    00:00:00 ps -aF

В PSRшоу столбца , который initработает под управление процессором на 1 и psзапущен на процессоре 0. Смотрите справочную страницу для пса (1) для получения более подробной информации о том , как настроить поля, которые выводятся на экране.

Вы можете настроить графический инструмент, например, htopотображать текущий активный процессор. Кроме того, htopимеется график отображения нагрузки на процессор, который может быть тем, что вы ищете. См., Например, следующий скриншот с http://htop.sourceforge.net/ .

скриншот htop

Наконец, вы можете использовать tasksetинструмент для принудительного сродства к конкретному процессору.

Эмиль Сит
источник
Имейте в виду, что (если вы не использовали набор задач для установки соответствия только одному ЦП), эта информация может устареть до того, как будет сгенерирован дисплей, не говоря уже о том, что вы его читаете.
Джейми Ханрахан
26

Есть много способов узнать. htop, top, ps.

HTOP

  • протестированная версия: 1.0.2
  • URL: http://htop.sourceforge.net/

    1. Нажмите F2, чтобы войти в окно настройки
    2. выберите столбцы в столбце настройки
    3. Перейти Доступные столбцы
    4. добавить ПРОЦЕССОР выбор процессора
    5. Проверьте столбец процессора htop с процессорной колонкой

Вверх

  • протестированная версия: procps 3.3.8
  • URL: http://gitorious.org/procps

    1. Нажмите f, чтобы попасть в окно управления полями.
    2. Выберите P (последний использованный процессор)

вот пример с последним столбцом P

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   P 
 5626 yashi     20   0 1926276 545964  47596 R  12.6  3.4 151:10.81 gnome-sh+ 2 
 5347 root      20   0  384788  73600  55708 S   8.7  0.5  55:10.09 Xorg      1 
 8125 yashi     20   0  646240  30776  21928 S   4.3  0.2  23:06.20 gnome-sy+ 0 
 1785 yashi     20   0  581180  29288  15560 R   4.0  0.2   0:25.55 gnome-te+ 1

п.с.

PSR - это КОД для отображения идентификатора процессора. Вы можете использовать опцию формата, как ps -o pid,psrили просто сделатьps -eF

$ ps -eF|head
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         1     0  0  3817   964   0 Aug14 ?        00:00:02 init [2]  
root         2     0  0     0     0   2 Aug14 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 Aug14 ?        00:00:11 [ksoftirqd/0]
root         5     2  0     0     0   0 Aug14 ?        00:00:00 [kworker/0:0H]
root         7     2  0     0     0   0 Aug14 ?        00:00:00 [migration/0]
root         8     2  0     0     0   0 Aug14 ?        00:00:00 [rcu_bh]
root         9     2  0     0     0   3 Aug14 ?        00:00:39 [rcu_sched]
root        10     2  0     0     0   0 Aug14 ?        00:00:00 [watchdog/0]
root        11     2  0     0     0   1 Aug14 ?        00:00:00 [watchdog/1]
Ясуши Сёдзи
источник
1

Я просто цитирую содержание man ps:

psr сообщит вам процессор, на котором запущен или запущен процесс. pcpu сообщит вам процент процессорного времени, затраченного процессом.

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

ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm | tail
 9847  9847 TS       -   0  19   2  0.0 S    -              kworker/2:0
10061 10061 TS       -   0  19   2  0.6 Sl   futex_wait_que chrome
10208 10208 TS       -   0  19   3  0.0 S    -              kworker/3:3
10247 10247 TS       -   0  19   1  0.0 S    -              kworker/1:1
10381 10381 TS       -   0  19   1  4.6 Sl   futex_wait_que chrome
10452 10452 TS       -   0  19   0  0.0 S    -              kworker/0:1
10491 10491 TS       -   0  19   0  0.5 Sl   futex_wait_que chrome
10504 10504 TS       -   0  19   2  0.0 S    -              kworker/2:1
10505 10505 TS       -   0  19   0  0.0 R+   -              ps
10506 10506 TS       -   0  19   3  0.0 S+   pipe_wait      tail

BSD стиль:

ps axo stat, euid, ruid, tty, tpgid, sess, pgrp, ppid, pid, psr , pcpu , comm

FIRO
источник
Это немного загадочно. Можете ли вы расширить свой ответ, чтобы уточнить, что это такое и как использовать его для решения проблемы? Из обзора
fixer1234