顶部

顶部

Linux 中是否有命令可以确定给定进程时该进程正在运行哪个处理器?我感兴趣的是确定该处理器的 CPU 繁忙时间和 CPU 空闲时间。

答案1

您可以使用以下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 截图

最后,您可以使用该taskset工具强制与特定 CPU 关联。

答案2

有很多方法可以查找。htop,top,ps。

顶部

  • 测试版本:1.0.2
  • 网址:http://htop.sourceforge.net/

    1. 按 F2 进入设置窗口
    2. 在设置列中选择列
    3. 转到可用列
    4. 添加处理器 htop 选择处理器
    5. 检查 CPU 列 带有 CPU 列的 htop

顶部

这是最后一列的示例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 是显示处理器 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]

答案3

我只是引用man ps的内容:

压力应变将告诉您该进程正在运行或运行的处理器。 处理器将告诉您该进程消耗的 CPU 时间百分比。

ps -eo pid,tid,class,rtprio,ni,pri,压力应变处理器,统计,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、压力应变处理器,通信

相关内容