在正常情况下,linux进程没有明确地固定到给定的核心,没有理由这样做.
您可以使用任务集管理进程关联,或者使用带有“psr”字段的ps查看当前瞬间哪个CPU在哪个CPU上运行.
检查进程27395的当前CPU关联:
$ps -o psr 27395
PSR
6
检查进程27395的关联列表:
$taskset -pc 27395
pid 27395's current affinity list: 0-7
设置进程27395与CPU 3的关联
$taskset -pc 3 27395
pid 27395's current affinity list: 0-7
pid 27395's new affinity list: 3
检查进程27395的当前CPU关联:
$ps -o psr 27395
PSR
3
要检查是否有任何进程固定到任何CPU,您可以遍历您的进程标识符并对它们运行taskset -p:
$for pid in $(ps -a -o pid=); do taskset -pc $pid 2>/dev/null; done
pid 1803's current affinity list: 0-7
pid 1812's current affinity list: 0-7
pid 1986's current affinity list: 0-7
pid 2027's current affinity list: 0-7
pid 2075's current affinity list: 0-7
pid 2083's current affinity list: 0-7
pid 2122's current affinity list: 0-7
pid 2180's current affinity list: 0-7
pid 2269's current affinity list: 0-7
pid 2289's current affinity list: 0-7
pid 2291's current affinity list: 0-7
pid 2295's current affinity list: 0-7
pid 2300's current affinity list: 0-7
pid 2302's current affinity list: 0-7
pid 3872's current affinity list: 0-7
pid 4339's current affinity list: 0-7
pid 7301's current affinity list: 0-7
pid 7302's current affinity list: 0-7
pid 7309's current affinity list: 0-7
pid 13972's current affinity list: 0-7