web-dev-qa-db-ja.com

Linuxには、プロセスがロードされているプロセッサー番号を知るコマンドはありますか?

Linuxで、プロセスがどのプロセッサーを実行しているかを判断するためのコマンドはありますか?そのプロセッサーのCPUビジー時間とCPUアイドル時間を把握することに興味があります。

27
kumar

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で実行されていることを示しています。ps(1の のマンページを参照してください。 ) 表示されるフィールドをカスタマイズする方法の詳細については。

htopのようなグラフィカルツールを構成して、現在アクティブなプロセッサを表示できます。また、htopには、CPUごとの負荷表示グラフがあり、これが探しているものかもしれません。たとえば、 http://htop.sourceforge.net/ の次のスクリーンショットを参照してください。

htop screenshot

最後に、tasksetツールを使用して、特定のCPUにアフィニティを強制できます。

32
Emil Sit

調べる方法はたくさんあります。 htop、top、ps.

htop

  • テスト済みバージョン:1.0.2
  • url: http://htop.sourceforge.net/

    1. F2を押してセットアップウィンドウに移動します
    2. [セットアップ]列で[列]を選択します
    3. 利用可能な列に移動
    4. プロセッサーを追加 htop selecting processor
    5. CPU列を確認する htop with cpu column

  • テスト済みバージョン:procps 3.3.8
  • url: http://gitorious.org/procps

    1. Fキーを押して[フィールド管理]ウィンドウに移動します
    2. P(最後に使用したCPU)を選択します

これは最後の列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は、プロセッサIDを表示するコードです。 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]
27
Yasushi Shoji

私は男のpsの内容を引用します:

psrは、プロセスが実行または実行されているプロセッサを通知します。 pcpは、プロセスが消費したCPU時間の割合を示します。

ps -eo pid、tid、class、rtprio、ni、pri、psrpcp、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

BSDスタイル:

ps axo stat、euid、ruid、tty、tpgid、sess、pgrp、ppid、pid、psrpcp、comm

1
firo