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

时间:2011-07-25 12:24:40

标签: linux linux-kernel scheduled-tasks

有没有办法将处理器从正常的日程安排中排除?

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

我也知道在启动过程中我可以限制init进程使用的处理器,因此所有继承的进程都是如此。然而,我希望有一个比这更动态的解决方案 - 我可以在启动后更改。


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

1 个答案:

答案 0 :(得分:4)

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

然后再次,如果你在评论中说,你的系统没有启用cpusets,那你就不走运了。

另外,你所要求的可能略显不正统;也许如果你要解释你实际上想要实现的目标,那么人们就能指出你的替代解决方案。