考虑我们有多个处理器/内核和两个线程的情况。是否可以强制 linux 调度程序在其执行的每个实例中始终将特定线程(两者)调度到特定处理器。是否在创建时为线程设置处理器亲和性,足以达到此目的
问问题
1680 次
1 回答
3
如果您查看手册页,taskset
您可以看到以下语句:
Linux 调度程序将遵循给定的 CPU 亲和性,并且该进程不会在任何其他 CPU 上运行。
这意味着为特定进程设置 CPU 亲和性将确保它始终在该 CPU 上运行。
存在允许您为特定线程设置线程亲和性的 API,我想 OS 调度程序也会尊重这一点。
如果你看一下,sched_setaffinity
你会看到一行写着:
这些对进程将在其上运行的实际 CPU 集的限制是由内核静默施加的。
这意味着这将确保您的线程仅在此函数设置的 CPU 上运行。
于 2013-02-20T11:49:28.613 回答