1、 如果一个进程使用 taskset 命令明确的被固定(pinned)到 CPU 的特定内核上,你可以使用 taskset 命令找被固定的 CPU 内核:
$ taskset -c -p
例如, 如果你对 PID 5357 这个进程有兴趣:
$ taskset -c -p 5357
pid 5357's current affinity list: 5
输出显示这个过程被固定在 CPU 内核 5上。
但是,如果你没有明确固定进程到任何 CPU 内核,你会得到类似下面的亲和力列表。
pid 5357's current affinity list: 0-11
2、ps命令可以告诉你每个进程/线程目前分配到的 (在“PSR”列)CPU ID。
$ ps -o pid,psr,comm -p
PID PSR COMMAND
5357 10 prog
输出表示进程的 PID 为 5357(名为”prog”)目前在CPU 内核 10 上运行着。如果该过程没有被固定,PSR 列会根据内核可能调度该进程到不同内核而改变显示。
3、top 命令也可以显示 CPU 被分配给哪个进程。首先,在top 命令中使用“P”选项。然后按“f”键,显示中会出现 “Last used CPU” 列。目前使用的 CPU 内核将出现在 “P”(或“PSR”)列下。
4、从命令行启动 htop。按 键,进入”Columns”,在”Available Columns”下会添加 PROCESSOR。