Linux 为一组进程保留一个处理器(动态)

edA*_*a-y 4 linux scheduled-tasks linux-kernel

有没有办法从正常调度中排除处理器?

也就是说,使用sched_setaffinityI 可以指示线程应该在哪个处理器上运行,但我正在寻找相反的情况。也就是说,我想从正常调度中排除给定的处理器,这样只有在那里明确调度的进程才能在那里运行。

我也知道在启动期间我可以限制 init 进程使用的处理器,因此所有继承的进程。然而,我希望有一个比这更动态的解决方案——我可以在启动后改变一些东西。


请注意,我希望调度线程,而不仅仅是高级进程(这在某些情况下可能会有所不同)。

jan*_*neb 5

cgroups,或者具体来说,cgroups 基础设施的 cpuset 部分是在 Linux 中实现的方式。请参阅http://www.kernel.org/doc/Documentation/cgroups/cpusets.txt 中的第 1.4 节“独占 cpuset” 。

再说一次,如果正如您在评论中所说的那样,您的系统没有启用 cpuset,那么您就不走运了。

此外,您所要求的可能有点不正统;也许如果您要解释您实际尝试实现的目标,人们会为您指出替代解决方案。