哪些进程在哪个 CPU 上运行?

哪些进程在哪个 CPU 上运行?

运行“top”可以显示每个进程使用了​​多少 CPU 能力。

假设您有多个 CPU。是否有一个实用程序可以显示与 top 相同的信息,但针对每个单独的 CPU?

例如,如果此实用程序名为“topp”,则“topp 1”将显示在 CPU 1 上运行的所有进程,以及这些进程占用了该 CPU 的多少电量。有这样的程序吗?

答案1

您正在寻找的命令是...。top来自man top

12. P  --  Last used CPU (SMP)
    A  number representing the last used processor.  In a true SMP
    environment this  will  likely  change  frequently  since  the
    kernel  intentionally  uses weak affinity.  Also, the very act
    of running top may break this weak  affinity  and  cause  more
    processes  to  change  CPUs  more  often (because of the extra
    demand for cpu time).

运行 时top,您可以对显示的进程应用过滤器。按?查看帮助:

在此处输入图片描述

如上所述,要进行过滤,请按o(退出帮助后),然后输入P=N,其中N是所需的 CPU 编号:

在此处输入图片描述

Enter。现在应该只有最后在 CPU 0 上运行的进程。

请注意,默认列表不包含 CPU 编号。按f更改字段:

在此处输入图片描述

移至P并按下Spacebar以选择它。退出帮助时,该列应该在那里:

在此处输入图片描述

相关内容