risposta-alla-domanda-sullo-sviluppo-web-bd.com

Esiste un comando in Linux per conoscere il numero del processore in cui è caricato un processo?

C'è qualche comando in Linux per capire, dato un processo, quale processore è in esecuzione il processo? Sono interessato a capire la CPU occupata e il tempo di inattività della CPU di quel processore.

24
kumar

È possibile utilizzare il comando ps per interrogare e visualizzare il processore attivo. Ad esempio, potresti eseguire:

$ 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

La colonna PSR mostra che init è in esecuzione sul processore 1 e ps è in esecuzione sul processore 0. Vedere la manpage per ps (1) per maggiori dettagli su come per personalizzare i campi che vengono visualizzati.

È possibile configurare uno strumento grafico come htop per visualizzare il processore attivo corrente. Inoltre, htop ha un grafico di visualizzazione del carico per CPU, che potrebbe essere quello che stai cercando. Vedi, ad esempio, il seguente screenshot di http://htop.sourceforge.net/ .

htop screenshot

Infine, puoi usare lo strumento taskset per forzare l'affinità a una particolare CPU.

31
Emil Sit

Ci sono molti modi per scoprirlo. htop, in alto, ps.

htop

  • versione testata: 1.0.2
  • url: http://htop.sourceforge.net/

    1. Premi F2 per entrare nella finestra di installazione
    2. selezionare Colonne nella colonna Configurazione
    3. vai Colonne disponibili
    4. aggiungi PROCESSOR htop selecting processor
    5. Controlla la colonna della CPU htop with cpu column

superiore

  • versione testata: procps 3.3.8
  • url: http://gitorious.org/procps

    1. Premi f per entrare nella finestra Gestione campi
    2. Seleziona P (ultima CPU utilizzata)

ecco un esempio con l'ultima colonna 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

ps

PSR è il CODICE per visualizzare l'id del processore. Puoi usare l'opzione di formattazione come ps -o pid,psr o semplicemente fare 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]
24
Yasushi Shoji

Cito il contenuto di ps:

psr ti dirà il processore su cui il processo è in esecuzione o in esecuzione. pcpu ti dirà la percentuale di tempo CPU che il processo ha consumato.

ps -eo pid, tid, classe, rtprio, ni, pri, psr , pcpu , stat, WCHAN: 14, comm

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

Stile BSD:

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

1
firo