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/。
最后,您可以使用该taskset
工具强制与特定 CPU 关联。
答案2
有很多方法可以查找。htop,top,ps。
顶部
- 测试版本:1.0.2
网址:http://htop.sourceforge.net/
- 按 F2 进入设置窗口
- 在设置列中选择列
- 转到可用列
- 添加处理器
- 检查 CPU 列
顶部
- 测试版本:procps 3.3.8
网址:http://gitorious.org/procps
- 按 f 进入字段管理窗口
- 选择 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
附言
- 测试版本:procps 3.3.8
- 网址:http://gitorious.org/procps
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、压力应变,处理器,通信